调度动作使react-router-redux改变路由器道具

时间:2016-06-16 10:48:18

标签: redux react-router react-router-redux

我正在目睹一种我无法理解的行为,这似乎不对。

当我发送一个动作时,我的组件重新渲染,因为this.props.location(和其他人,比如params或routeParams)改变了,当我说“改变”时,我的意思是指针不同,但是内部属性是一样的。

调度的操作不会以任何方式更改路径,只会更改redux存储中的某些数据(在其自己的已安装密钥上)。

因此,shouldComponentUpdate(未被覆盖)检测到更改并强制重新呈现。但是根本没有变化!

这很烦人,因为我有一个setInterval例程,它调度一个动作来每隔30秒调用一次服务器来获取一些数据。然而,仍然重新渲染不关心此状态更改的已连接组件。 redux面板显示仅调度此操作,没有LOCATION_CHANGE。

如果我拔掉react-router-redux(删除使用syncHistoryWithStore),则此行为会停止。

这是预期的行为,还是我错过了什么?我不想在所有连接的组件中覆盖shouldComponentUpdate

你能指出我在组件中注入反应路由器道具的位置吗?

0 个答案:

没有答案