返回信息流如题。
不是特别好描述,在connect中用了mapStateToProps 和mapDispatchTopProps
这个dispatch并没有引起这个component的state改变,但是每次这个component都被update了
这是一条镜像帖。来源:北邮人论坛 / www-technology / #38071同步于 2016/7/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
react-redux中,state并没有更新,但是component却被update了
lol
2016/7/28镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
终于找到原因了。
其实是因为这个组件的某个state是通过 someArray.map() 产生的,这样总是返回的不同对象的引用,而redux在check状态是否发生改变以决定是否重新渲染的时候,用的是shallow equality check。所以不同引用相比较总是不同。
我这种情况的解决方法就是,不要在mapStatetoProps中用map返回你的state。
因为每次只要store更新了,mapStatetoProps就会被调用,由于新的引用被返回,这个组件就会被update。
【 在 pepping 的大作中提到: 】
: 那是怎么解决的?
是的。
【 在 sky07 的大作中提到: 】
: 感觉state用的有问题呢。。array.map产生一个state?state应该用来描述ui的改变,而不是用来存储数据的。