当点击对应的城市的时候为什么上面的CurrentCity组件数据不能同步变化呢

来源:8-6 修改城市完成

低级前端开花工程师

2017-06-29

this.props.userInfoActions.update(userinfo)   //改变action 同时store也会变化 他里面的城市已经是变了  

那为什么我们点击城市的时候cityName变了,

console.log(this.props.userinfo.cityName)   返回的是点击对应的城市名字,但是CurrentCity组件的数据是不变的呢?

难道是因为点击事件是其他组件 不会影响CurrentCity这个组件吗?但是我们点的时候store会改变的啊~


求解 谢谢老师!


写回答

2回答

qq_昊辰_03539545

2017-07-02

因为示例里面的代码cityName用的是对象,而且reducer里面是直接修改了对象的值,但是对象的引用地址没有发生变化,react就认为数据没有发生变化,这样就不会启用render去重新渲染,可以把cityName变成string型,也可以返回新的对象,都可以解决你的问题。

0
0

双越

2017-06-29

使用 chrome 中 redux-dev-tool 看一下你改变城市时,是否真正存储到了 redux

0
2
双越
回复
低级前端开花工程师
那个大字是传递的属性给 header 组件,你打印一下属性的值,看改了没有。另外根据这个线索来追踪一下。
2017-06-29
共2条回复

React高级实战 打造大众点评Web App

已经对React Router4与Webpack2进行了项目升级

1711 学习 · 707 问题

查看课程