假设我们有一个CountryPicker,它将在挂载时向服务器发送一个请求以加载国家列表,然后显示该列表,用户可以选择一个国家,它将分派(dispatch)PICK_COUNTRY操作并相应地更新UI。当加载国家列表失败时,它将显示一些有用的信息。该组件的逻辑相当完整且独立。

我们的许多页面都使用此CountryPicker,显然我们想重用该代码。

根据情况,我们有一个CountryPicker React组件,一个CountryReducerCountryActions

问题是,当用户选择其他国家/地区时,我们使用CountryPicker的某些页面还想做更多事情(例如根据新国家/地区检索新数据)。

我能想到的解决方案是为handleSelectCountry添加CountryPicker Prop ,并在用户选择国家/地区时使用新的国家/地区有效负载进行调用。

这对我来说是丑陋的,反正还有更多一致的做法吗?提前致谢。

最佳答案

您可以使用Store.subscribe监视组件状态的更改并从那里触发操作。

http://rackt.org/redux/docs/api/Store.html#subscribe

07-24 17:27