Используя Context API в проекте, я бы раньше использовал Redux для создания асинхронных действий? - PullRequest
0 голосов
/ 09 января 2019

Так что большинство моих проектов достаточно просты, чтобы Redux был полностью излишним (хотя он всегда работал очень хорошо) - я собираюсь использовать Context API в новом проекте (он легко выполнит свою работу, и это будет намного проще чтобы объяснить другим разработчикам и заставить их продолжать) - Redux имеет Thunk для обработки асинхронных действий. Я думаю, что понимаю вещи достаточно хорошо, чтобы понять, что асинхронные действия не будут проблемой для Context API - Redux Thunk на самом деле не добавляет асинхронную функциональность в Redux - он просто делает синтаксис более приемлемым. Таким образом, мои рассуждения говорят, что Context API сможет обрабатывать любые асинхронные действия, пока я пишу код, чтобы правильно с ними справляться. Это правильно, или мне нужно придерживаться Redux с Thunk, если я хочу эффективно обрабатывать асинхронные действия?

1 Ответ

0 голосов
/ 10 мая 2019

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

С https://www.academind.com/learn/react/redux-vs-context-api/

Context API (в настоящее время) не создан для высокочастотных обновлений (цитата Себастьяна Маркбеджа, React Team), он не оптимизирован для этого. Люди реакции-избыточности столкнулись с этой проблемой, когда пытались внутренне переключиться на контекст реагирования в своем пакете.

Моя личная сводка заключается в том, что новый контекст готов к использованию для низкого частота маловероятных обновлений (например, локаль / тема). Это также хорошо использовать это так же, как использовался старый контекст. То есть для статических значений и затем распространять обновления через подписки. Не готов быть используется в качестве замены для всех Flux-подобных состояний распространения. --- Себастьян Маркбедж

Так что на данный момент кажется, что вы, возможно, захотите изучить использование React Context для низкочастотных обновлений (например, изменения темы, аутентификация пользователя), но не использовать его для общего управления состоянием вашего приложения.

Надеюсь, это поможет.

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