假设我们有一个CountryPicker
,它将在挂载时向服务器发送一个请求以加载国家列表,然后显示该列表,用户可以选择一个国家,它将分派(dispatch)PICK_COUNTRY
操作并相应地更新UI。当加载国家列表失败时,它将显示一些有用的信息。该组件的逻辑相当完整且独立。
我们的许多页面都使用此CountryPicker
,显然我们想重用该代码。
根据情况,我们有一个CountryPicker
React组件,一个CountryReducer
和CountryActions
。
问题是,当用户选择其他国家/地区时,我们使用CountryPicker
的某些页面还想做更多事情(例如根据新国家/地区检索新数据)。
我能想到的解决方案是为handleSelectCountry
添加CountryPicker
Prop ,并在用户选择国家/地区时使用新的国家/地区有效负载进行调用。
这对我来说是丑陋的,反正还有更多一致的做法吗?提前致谢。
最佳答案
您可以使用Store.subscribe
监视组件状态的更改并从那里触发操作。
http://rackt.org/redux/docs/api/Store.html#subscribe