mik*_*kek 2 reactjs redux react-redux
store.subscribe( () => {} ) 是观察 Redux 商店变化的唯一方法吗?
我异步获取我的用户,当应用加载时,用户存储很可能是空的,所以我必须做这样的事情:
store.subscribe( () => {
var users = store.getState().users;
if( users.length > 0 ) {
this.setState({ ... })
}
});
Run Code Online (Sandbox Code Playgroud)
现在我有 3 或 4 个组件,我必须在每个组件中使用相同的逻辑。我的问题:这个问题有更优雅的解决方案吗?在“全球层面”聆听 Redux 变化的某种方式?
这里有两个答案。
是的,这store.subscribe()是观察商店变化的唯一方法(商店也实现了挑剔的例外Symbol.observable,所以如果你使用 observables,你也可以通过这种方式订阅)。
然而,connect来自官方 React-Redux的函数已经处理了存储订阅和提取组件所需数据的过程。不要自己编写商店订阅逻辑 - 使用connect. (我在 Reddit 上写了一篇长评论,解释了为什么你应该使用 React-Redux 而不是手动订阅。)
| 归档时间: |
|
| 查看次数: |
4344 次 |
| 最近记录: |