Javascript React-Redux连接的组件未将更新的道具传递给子组件
应用程序状态更改时,子组件(MapLeftNav、Map)不会重新招标。它有一个父组件(MapView)和几个同级 假设: 1) 应用程序状态正在更改并由Redux跟踪Javascript React-Redux连接的组件未将更新的道具传递给子组件,javascript,reactjs,redux,Javascript,Reactjs,Redux,应用程序状态更改时,子组件(MapLeftNav、Map)不会重新招标。它有一个父组件(MapView)和几个同级 假设: 1) 应用程序状态正在更改并由Redux跟踪 该操作显示在Redux开发工具中,带有更新的字段 我正在父组件(MapView)中记录VehicleState,它们正在更改 2) 我的减速器不仅仅是突变状态() -Redux开发工具和父级(connected组件)正在愉快地接受更改 case NEW_MESSAGES: return reduceVehicleMess
- 该操作显示在Redux开发工具中,带有更新的字段李>
- 我正在父组件(MapView)中记录VehicleState,它们正在更改李>
connect
ed组件)正在愉快地接受更改
case NEW_MESSAGES:
return reduceVehicleMessagesToVehicles(state, action.payload)
然后该函数返回:
return {
vehicles: updatedVehicles,
traces: updatedTraces,
vehicleMessagesLoading: messagesLoading,
}
3) 父组件()正在接收新道具,而不是子组件
- I console.log道具,它们在父组件中更改
- 我写了一个假的
并且该函数从不由 子导航组件组件WillReceiveProps(下一步) {console.log(nextrops)}
<MapLeftNav mapState={mainMap} push={push} vehicles={vehiclesState.vehicles} updateCounter={vehiclesState.updateCounter} />
connect
redux到子组件时,一切正常。当我只是将它们传递给父组件并尝试将应用程序状态作为道具传递下去时,子组件似乎不会注册状态的更改
据我所知,我不必连接我的所有组件,就可以使用redux商店中保存的应用程序状态!关于问题可能来源的任何提示?您显示了
MapLeftSideBar
,但也提到了MapLeftNav
,我假设这是一个打字错误。您能否包含MapLeftNav
组件的框架?您如何将数据连接到MapLeftNav
?您可以粘贴连接逻辑吗。@bebraw我在主帖子中添加了一个链接,指向父组件的要点,该链接位于connect
上,所有这些都发生在父组件上level@Underwater_developer好啊这可能解决不了你的问题,但是你可以考虑在层次结构中移动<代码>连接< /代码>(为两者分开)。至少这样,您可以更轻松地记录每个组件的行为。也许这会揭示一些有趣的事情。在性能方面,这也是一个很好的步骤。@bebraw是的,我梦想在智能connect
ed组件和哑渲染组件之间有一个强大的划分。。。。但是,如果在子组件处连接起作用,我可能不得不将其作为一种解决方法,然后继续。我试试看。