Это хороший дизайн для использования React Context API - PullRequest
0 голосов
/ 27 сентября 2019

Я работаю над проектом React, который разделен на несколько модулей, и каждый модуль содержит несколько компонентов.Существует также модуль commons, который содержит компоненты, которые являются общими для двух или более отдельных модулей.Я использую контекстный API для управления всем состоянием.Ниже приведена структура родительского компонента (App.js).Module1Container, Module2Container ... содержит компоненты соответствующих модулей.

return(
    <CommonsContextProvider>
        <Module1ContextProvider>
            <Module1Container />
        </Module1ContextProvider>
        <Module2ContextProvider>
            <Module2Container />
        </Module2ContextProvider>
        <Module3ContextProvider>
            <Module3Container />
        </Module3ContextProvider>
    </CommonsContextProvider>
)

В основном я хочу, чтобы состояния были разделены, так как отдельный контекст для каждого модуля сделает его слишком перегруженным.Является ли хорошей идеей иметь отдельный контекст для каждого модуля и общий контекст для часто используемого состояния между модулями?Разве эта структура не аннулирует единственное правило истины?Лучшее предложение приветствуется.

1 Ответ

1 голос
/ 27 сентября 2019

У этого метода в настоящее время нет проблем, но в долгосрочной перспективе, если вам нужно поддерживать проект, единый источник правды все еще лучше,

Для единственного источника правды используйте redux (redux-hooks) иВ случае, если вам нужно иметь модульный вид состояний, используйте разные редукторы для разных компонентов и общие редукторы для глобального состояния, а затем объединяйте их с помощью combReducer of redux

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...