Какое промежуточное программное обеспечение следует выбрать? - PullRequest
0 голосов
/ 26 апреля 2018

Следуя руководству, я пришел к какому-то промежуточному программному обеспечению, предназначенному для приложений с избыточностью.

Redux Thunk , Redux Promise , Redux Promise Middleware, Redux Observable , Redux Saga , Redux Pack

Выбор промежуточного программного обеспечения является лишь вопросом предпочтения.Но я не прошу выбирать соглашение.

Я хотел бы знать, есть ли между ними какие-либо различия, такие как производительность, поддержка браузера, варианты использования и т. Д. Или что-нибудь еще, с чем я скучаю.Я очень старался их найти, но не смог найти ни одной статьи.

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

Или все промежуточные программы - это просто условные обозначения, и я могу выбрать любой из них для любого типа приложения-редукса (маленькийили большой)?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Чтобы иметь возможность выбрать одну из этих библиотек , мы должны принять во внимание, создаем ли мы маленькое или большое приложение.Юзабилити, стандарты кода и знание JavaScript также могут быть рассмотрены.Все они похожи.

redux-thunk

Промежуточное ПО Redux Thunk позволяет создавать создателей действий, которые возвращают функцию вместо действия.Thunk может использоваться для задержки отправки действия или для отправки только при соблюдении определенного условия.Он включает методы dispatch и getState в качестве параметров.

redux-saga

redux-saga - библиотека, предназначенная для создания приложенийпобочные эффекты (то есть асинхронные, такие как выборка данных и нечистые процедуры, такие как доступ к кешу браузера) управляемым и эффективным способом выполнения.Это просто проверить, поскольку в нем используется функция ES6, называемая генераторами, что упрощает чтение потока в виде синхронного кода.

наблюдаемый при редуксе

redux-observable - это промежуточное программное обеспечение для redux, основанное на redux-thunk.Это позволяет разработчикам отправлять функцию, которая возвращает Observable, Promise или итерируемое действие (я).Когда наблюдаемое испускает действие, или обещание разрешает действие, или итерация выдает действие, это действие затем отправляется как обычно.

И другие непосредственно из их источника на github:

redux-обещание

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

промежуточное программное обеспечение redux-обещание-промежуточное ПО

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

redux-pack

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

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

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

redux-pack помогает нам избежать этих ошибок, поскольку не дает нам возможности функции диспетчеризации, но позволяет нам делать все то, что мы делалидо.

0 голосов
/ 26 апреля 2018

Из моего личного опыта (я использовал большую часть промежуточного программного обеспечения, которое вы перечислили).

Redux Saga - это путь.Он имеет более высокую кривую обучения, но как только вы обернетесь вокруг него, он станет чрезвычайно мощным

Redux Saga

  1. Позволяет разделить проблемы
  2. Уменьшенные побочные эффекты
  3. Отменяемые задачи (потрясающе)
  4. Параллельная (похожая) обработка

Как только вы поймете саксофоническую сагу, ее станет намного проще расширятьваше приложение.

https://engineering.universe.com/what-is-redux-saga-c1252fc2f4d1

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