Я иду по пути рефакторинга управления состоянием реагирования для использования Context API.
Я настроил базовый менеджер состояний и передаю контекст в файл конфигурации, который переходит в отдельные формы, чтобы избежать сверления реквизита.
State.js
import React, {createContext, useContext, useReducer} from 'react';
export const StateContext = createContext();
export const StateProvider = ({reducer, initialState, children}) => (
<StateContext.Provider value={useReducer(reducer, initialState)}>
{children}
</StateContext.Provider>
);
export const useStateValue = () => useContext(StateContext);
Архитектура
Выпуск
Я чувствую, что будет странно определять, откуда исходит состояние для каждого компонента, если у меня есть управление состояниями внутри компонентов и API контекста, но одна из вещей, которые мне нравятся в том, чтобы иметь состояние в каждом компоненте, это знать, к каким состояниям принадлежат этот компонент.
Вопрос
Имеет ли смысл когда-либо поддерживать управляемое состояние внутри компонентов наряду с контекстным API? Или я должен в конечном итоге провести рефакторинг всего штата, который будет управляться State.js