React Context API и / или React-Redux-Thunk - PullRequest
2 голосов
/ 30 апреля 2020

Я использую Context API для управления несколькими магазинами и React-Redux с thunk для управления одним магазином.

Должен ли я придерживаться одного над другим или использовать React-Redux для управления несколькими магазинами через React Context API.

Я разговаривал с другом, который сделал наоборот для меня в своей компании, и мне интересно, почему, но так и не получил объяснения.

Какая лучшая практика?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Redux был и до сих пор очень популярен для больших приложений, где вам нужно иметь возможность поддерживать единый источник правды, но передавать разные части магазина в качестве поддержки различных компонентов. Преимущество этого пакета в том, что он может упростить отладку, а при правильной реализации очень надежен.

Что касается промежуточного программного обеспечения для избыточных ресурсов, то они обычно используются для асинхронной интеграции. Thunk и Saga - две популярные библиотеки. Контекст должен иметь возможность обрабатывать asyn c без каких-либо других зависимостей.

Context API - это более новая функция, выпущенная как часть React 16.3, которая позволяет упростить создание магазина, но, на мой взгляд, это может быть более трудным шкала. У меня нет особого опыта использования Context API, но он стал очень популярным, и опытный разработчик может делать все, что делает Redux.

Я бы сказал, что, как правило, не рекомендуется использовать оба варианта, когда один подход будет работать так же хорошо. Тем не менее, приложение, которым я управляю, использует оба, потому что когда оно было впервые создано, Context API 16.3 еще не был выпущен, так что redux был единственным диспетчером состояний для всего приложения, но позже некоторые локализованные состояния компонентов были обновлены, чтобы иметь свой собственный контекст хранить. Однако я не думаю, что это лучшая практика.

Подробнее о технических различиях здесь .

0 голосов
/ 30 апреля 2020

React Context API управлять несколько сложнее, вместо него можно использовать redux для управления состояниями. react-redux просто используется в качестве соединителя между react и redux.

Для наилучших практик вы можете сделать следующее:

  • Для управления несколькими магазинами вы можете go для redux.
  • Для соединения react с redux вы можете go для react-redux.
  • Для промежуточных изделий вы можете либо go для redux-thunk или redux-saga.

Я предпочитаю redux-saga, поскольку он имеет больше преимуществ по сравнению с redux-thunk.

...