React Redux 子组件获取父组件设置的全局 属性,而不通过 props 传入

React Redux child component gets global property set by parent component without passing it in through props

假设我有一个组件

<Page address=address>
  <Child>
   address
  <Child>
 <deeply nested child>
  <Child>
   address
  <Child>
 </deeply nested child>
</Page>

我怎样才能确保我所有的子组件都能得到地址,而不是每次都通过 props 传递地址

首先让我告诉你这是个坏主意。明确传递道具允许:

  • 易于单元测试的组件
  • 允许您创建无状态组件
  • 让你依赖PureRenderMixin
  • 隐式依赖是维护问题的一个漏洞,打破了 React 视图无状态的想法

总之,道具很棒,就用吧!

话虽如此。如果你真的需要在不使用道具的情况下传递一些东西。然后你想使用 react context.

上下文是 react-redux 提供程序背后的机制(例如 <Provider store={store}>