Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

怎么获取全局的store #52

Open
zhouchengcom opened this issue Sep 11, 2017 · 8 comments
Open

怎么获取全局的store #52

zhouchengcom opened this issue Sep 11, 2017 · 8 comments

Comments

@zhouchengcom
Copy link

怎么获取全局的store

@llh911001
Copy link
Member

Mirror 没有将 store 暴露出去,所以无法获取到。

因为一般情况下,使用 react-redux 作为绑定工具,是不需要访问全局 store 的;如果你需要 store 上的数据,应该通过 connect 接口去筛选。

@zhouchengcom
Copy link
Author

但是在actions里面 reducers 和effects 里面一个提供了对应的state 一个提供了全局的getState 能不能两个方法都有这种选择
不过这个库非常赞。

@llh911001
Copy link
Member

llh911001 commented Sep 11, 2017

是这样的,一个 reducer 应该只能处理这个 reducer 对应的 state(由 combineReducers 定义)。

你想一下,标准的 Redux reducer 是不是也是这样的?如过某个 state 对应的 reducer 可以获取别的 state,那就没办法保证 reducer 的 purity 了。

如果你确实需要在 state a 中,使用 state b 的数据,那么你可以在 a 中定义一个 effect, 在这个 effect 中,拿到全局的 state 然后再拿到 state b

@zhouchengcom
Copy link
Author

嗯 谢谢

@agileago
Copy link

agileago commented Nov 9, 2017

我觉得应该把它暴露出来,让其更加灵活,比如现在我把用户信息存到了store里面,我想在service层获取到这个user信息传递给后端,那我就得先通过effects或者在组件中传递,但有些service是跟组件这些东西无关的,比如统计信息等,还是暴露出来的比较好,不要老是以 这种情况不会出现、应该保持纯度、可以间接的获取 这种让人不能直接完成需求的理由搪塞,还是要务实一点😬

@llh911001
Copy link
Member

这种场景的确比较常见,将 store 暴露出去的确会更加灵活。

我们再仔细考虑一下,已经倾向于将它暴露出来了!

感谢建议! @agileago

@agileago
Copy link

agileago commented Nov 9, 2017

@llh911001 这个库真的很棒,dva还是有点绕的,接近vuex的使用体验了,但vuex是直接可以获取到获取到这个状态的store.state,希望mirror可以加上

@aqnaruto
Copy link

aqnaruto commented Mar 3, 2020

@llh911001 这个库真的很棒,dva还是有点绕的,接近vuex的使用体验了,但vuex是直接可以获取到获取到这个状态的store.state,希望mirror可以加上

与组件无关的值 应该写在localstorage里面,redux 中也没有这个。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants