请问 React 路由组件下的 二三级子组件如何快速获取 dispatch ?

请问各位大大 路由组件 上,设置了 connect state 之后, 其 二三级的 子组件 怎么可以快速地访问 state 以及调用 dispatch 呢?只能显式地 一层层传下去么?

阅读 6.1k
5 个回答

如果子组件不需要考虑复用问题,直接connect()(子组件)就好,直接拿到所需的公共状态。

如果是一个公共组件,connect之后就丧失了复用性,所以只能一级级地传下去。

最简单的方法在该js里设置全局变量 将父组件的this赋给这个全局变量 其他组件就可以通过这个变量访问dispatch调用相应的action

不需要这样,只要在最外层 provider 引用 store 就行,在根组件引入就行,后面的组件都可以调取到 state

store, dispatch 是redux的东西,要调用必须得有,@connect就一行代码

便捷的方式当然是 connect

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题