использование Context вместе с Redux - PullRequest
1 голос
/ 18 июня 2020

Я активно использую Redux в своем приложении. У меня также очень ограниченное количество свойств, хранящихся в Context :

  • имя пользователя, вошедшего в систему,
  • информация о геометрии экрана (для адаптации, когда окно браузера изменяет размер)

Является ли это антипаттерном, и следует ли мне перенести все на Redux и вообще отказаться от контекста? Я склонен ответить утвердительно. Итак, вопрос:

Существуют ли допустимые варианты использования для использования Context и Redux в одном приложении или это запах кода?

1 Ответ

1 голос
/ 18 июня 2020

Нет, я не могу придумать ни одной причины, по которой было бы неплохо использовать оба. Как правило, «если вы используете Redux только для того, чтобы избежать передачи свойств глубоко вложенным компонентам, вы можете заменить Redux на API контекста».

Если вам нужны более продвинутые функции, такие как контейнер предсказуемого состояния, асинхронные c действия и т. Д., Выберите Redux.

Простите за каламбур, но «переключение контекста» между ними только запутает вас, ваше приложение и будущих разработчиков вашего приложения.

в вашем случае, материал username определенно может принадлежать редуктору redux, а информация о геометрии экрана кажется, что этого достаточно, c достаточно, чтобы жить в React и передаваться в качестве свойств. хотя, конечно, это можно сохранить и в состоянии Redux

...