【发布时间】:2020-10-24 10:59:28
【问题描述】:
在一个 React 组件中使用多个“useContext”钩子是一种好的,甚至是传统的方法。通常我会像这样从提供者那里提取状态和调度:
const { state, dispatch } = useContext(thisIsTheContext);
当然,这意味着我在上下文本身中定义了state 和dispatch。
现在我读到一些人制作了一种“rootContext”,您可以在其中通过一个 Provider 传递所有状态。但是,这对我来说似乎有点矫枉过正。
当然我可以用不同的方式命名state 和dispatch,但是,我认为在使用useReducer 挂钩时只使用这两个是惯例。
任何人都可以对此有所了解吗?
编辑(根据要求 App.js 组件的外观):
function App() {
return (
<FlightDataProvider>
<TravellerProvider>
<Component /> // component here
</TravellerProvider>
</FlightDataProvider>
);
}
【问题讨论】:
-
你能分享你的 App.js 根组件,你提供多个上下文吗?
-
@onuriltan 我在帖子中添加了我的 App.js:它归结为几个供应商包装了所有应用程序组件。
-
您能否也分享一个您的 Provider,将有助于了解您如何传递值和调度
-
发布了一个答案,看看你是否还有问题
标签: reactjs react-context