如果我想在某些状态发生变化时做点什么,我就找不到优雅的方法来做到这一点

时间:2017-01-02 05:46:04

标签: reactjs redux

我在select上封装了一个组件,它就像搜索选择一样,关键功能就是联动。

例如,省选择和城市选择,当我更改省选择时,城市选择将更新其选项到相应的城市。我想将此链接功能封装到组件中。

这个过程是这样的:

用户更改省

=>组件调度操作以更改省状态

=>城市选择发现省选择状态已经改变

=>城市选择派遣行动来改变自己的状态

我找不到使用Redux

优雅地实现此功能的方法

2 个答案:

答案 0 :(得分:0)

这可能是如何使用Redux的教科书示例;我无法想象会出现什么问题。无论如何;我就是这样做的。

一个愚蠢的组成部分:Select

两个智能组件:ProvinceSelectCitySelect

两个缩减器:provinces: { all, selected }cities: { all, selected }

一个动作:SELECT_PROVINCE

省和城市减少者应该在SELECT_PROVINCE行动中改变他们的状态。 provinces应更新其selected媒体资源,cities应更新其all媒体资源。

答案 1 :(得分:0)

在React-Redux中,组件获取mapToState调用中的所有状态,现在由你决定,你想要在组件中监听哪些状态更改。

我会像这样接近

=>用户更改省

=>组件调度操作以更改省状态

=>城市选择收听省级状态并更新mapToStore中的城市

=>和city将调用渲染来更新组件。