Javascript 这是使用React上下文API的好设计吗
我正在做一个React项目,该项目分为几个模块,每个模块包含几个组件。还有一个Javascript 这是使用React上下文API的好设计吗,javascript,reactjs,redux,state,jsx,Javascript,Reactjs,Redux,State,Jsx,我正在做一个React项目,该项目分为几个模块,每个模块包含几个组件。还有一个commons模块,其中包含两个或多个独立模块共用的组件。我使用上下文API来管理所有状态。下面是父组件(App.js)的结构模块1容器,模块2容器。。。包含各个模块的组件 return( <CommonsContextProvider> <Module1ContextProvider> <Module1Container />
commons
模块,其中包含两个或多个独立模块共用的组件。我使用上下文API来管理所有状态。下面是父组件(App.js)的结构<代码>模块1容器,模块2容器
。。。包含各个模块的组件
return(
<CommonsContextProvider>
<Module1ContextProvider>
<Module1Container />
</Module1ContextProvider>
<Module2ContextProvider>
<Module2Container />
</Module2ContextProvider>
<Module3ContextProvider>
<Module3Container />
</Module3ContextProvider>
</CommonsContextProvider>
)
返回(
)
我主要希望状态作为单个上下文分离,因为每个模块都会造成太多混乱。为每个模块提供一个单独的上下文,为跨模块的常用状态提供一个公共上下文,这是一个好主意吗?这种结构难道不是使真理的单一来源规则无效吗?更好的建议是最受欢迎的。这种方法目前没有问题,但从长远来看,如果你需要维护项目,单一真相来源仍然更好 对于单一真相来源,使用redux(redux钩子)和 如果您需要模块化的状态视图,请为不同的组件使用不同的还原器,为全局状态使用公共还原器,然后使用redux的combineReducer将它们组合起来