node.js - antdesign怎么集合react-redux对input控件进行初始化赋值
问题描述
https://segmentfault.com/q/10...https://segmentfault.com/q/10...对于这两个帖子问题的原因已经找到了,原来是因为react-redux,进行页面加载的时候,会先把原来的标签加载一次,然后再执行componentDidMount事件ps.我也试过了componentWillMount事件,结果相同。执行顺序(详):1.在第一次加载的时候,ant控件Input的defaultValue已经被赋值了,只不过没有找到,所以是undefined2.然后执行componentDidMount/componentWillMount时间,在把ss重新赋值,赋予给Input的defaultValue我再控制台也输出了ss,由结果也可以验证上面的结论看吧这一对是不是输出了两次?而我在代码中只写了一次按照input的描述,页面只有在第一次给input赋值的时候会把value值显示在页面上,后面不管在页面上的控制台更改几次value都不会对页面显示产生影响,所以页面一直都显示空。
那么问题来了,我要怎样做才能在react-redux的框架基础上,并加入ant的标签,对Input进行初始化赋值,并把这个赋值显示在页面上呢?
问题解答
回答1:render 是会在改变state的时候渲染 你第一次进页面 render一次 然后你请求数据 会改变state 会再render一次!
回答2:state和props的改变都会导致组件被渲染, 但是是否真的要渲染是取决于你的shouldComponentUpdate这个函数的,你可以通过实现这个函数来控制是否要渲染
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. docker镜像push报错3. java - springboot使用容器加载时,如何预先获取ClassLoader资源?4. javascript - webpack build出错后如何定位文件?5. 怎么在phpstudy中用phpexcel上传数据到MYSQL?6. vue.js - 为什么我的vue项目上传到github不能预览?7. css3 邊框漸層 及 ios背景模糊?8. html5 - 想要写一个H5页面,就微信打开来那种,然后几个输入框,把数据保存在我后台(java)的数据库里,实现思路是怎样的?9. java - AtomicInteger等原子类,是不是不用volatile修饰,自带volatile属性?10. android - 百度地图加载大量marker点有没有比较好的解决方案