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}>
)
假设我有一个组件
<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}>
)