mirror
mirror copied to clipboard
怎么获取全局的store
怎么获取全局的store
Mirror 没有将 store 暴露出去,所以无法获取到。
因为一般情况下,使用 react-redux 作为绑定工具,是不需要访问全局 store 的;如果你需要 store 上的数据,应该通过 connect 接口去筛选。
但是在actions里面 reducers 和effects 里面一个提供了对应的state 一个提供了全局的getState 能不能两个方法都有这种选择
不过这个库非常赞。
是这样的,一个 reducer 应该只能处理这个 reducer 对应的 state(由 combineReducers 定义)。
你想一下,标准的 Redux reducer 是不是也是这样的?如过某个 state 对应的 reducer 可以获取别的 state,那就没办法保证 reducer 的 purity 了。
如果你确实需要在 state a 中,使用 state b 的数据,那么你可以在 a 中定义一个 effect, 在这个 effect 中,拿到全局的 state 然后再拿到 state b。
嗯 谢谢
我觉得应该把它暴露出来,让其更加灵活,比如现在我把用户信息存到了store里面,我想在service层获取到这个user信息传递给后端,那我就得先通过effects或者在组件中传递,但有些service是跟组件这些东西无关的,比如统计信息等,还是暴露出来的比较好,不要老是以 这种情况不会出现、应该保持纯度、可以间接的获取 这种让人不能直接完成需求的理由搪塞,还是要务实一点😬
这种场景的确比较常见,将 store 暴露出去的确会更加灵活。
我们再仔细考虑一下,已经倾向于将它暴露出来了!
感谢建议! @agileago
@llh911001 这个库真的很棒,dva还是有点绕的,接近vuex的使用体验了,但vuex是直接可以获取到获取到这个状态的store.state,希望mirror可以加上
@llh911001 这个库真的很棒,dva还是有点绕的,接近
vuex的使用体验了,但vuex是直接可以获取到获取到这个状态的store.state,希望mirror可以加上
与组件无关的值 应该写在localstorage里面,redux 中也没有这个。