Когда я должен использовать Redux Saga вместо Redux Thunk, и когда я должен использовать Redux Thunk вместо Redux Saga? - PullRequest
0 голосов
/ 22 января 2019

Вопрос отличается от прошлого, поэтому. Вопрос для этого - Когда. Так как оба являются хорошими фреймворками, вопрос в том, когда я должен использовать Thunk, а не Saga. Потому что один из моих друзей продолжает настаивать на том, чтобы я использовал сагу в нашем приложении, но нет явных причин, почему. Спасибо вперед

Ответы [ 3 ]

0 голосов
/ 22 января 2019

На основании некоторых чтений и моего опыта ...

Использование Thunk вместо Saga для простых и тривиальных задач, таких как:

  • AJAX-вызовы
  • опрос данныхи только если они запускаются непосредственно при взаимодействии с пользователем.

Использование Saga для

  • взаимосвязанных задач, пример входа в систему документов идеален
  • выполняется с большим количеством шагов и ожидает возникновения других условий (потоки "конечного автомата")
  • задач, которые работают в фоновом режиме и выполняются независимо от взаимодействия с пользователем (илисмесь фона / взаимодействия)
0 голосов
/ 22 января 2019

Предпочтение саги над тэнком или наоборот ложью зависит от поставленной задачи. Оба имеют свою справедливую долю компромиссов.

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

  • Плюсы : Простой код для обслуживания
  • Минусы : нужно смоделировать асинхронное поведение Thunk в тестовых случаях, которые могут стать довольно неуклюжим
  • Подразумевается : Подходит для небольших прямых асинхронных частей приложения

Саги используют функции генератора внизу, так что функция фактически приостанавливает асинхронное действие и возобновляется после его разрешения

  • Плюсы : контрольные примеры становятся честными и прямыми без необходимости издеваться над асинхронным поведением
  • Минусы : более сложный код
  • Подразумевается : Подходит для сложных асинхронных частей приложения, для которых требуются сложные юнит-тесты
0 голосов
/ 22 января 2019

Оба саги используются в качестве промежуточной программы для редуксов, используемых обычно для API-хитов.Thunk очень прост в использовании по сравнению с сагами, но сага имеет много преимуществ по сравнению с сагами, например сага имеет эффект takeLatest, который будет эффективен, если пользователь нажимает кнопку несколько раз, thunk будет вызывать api-удар при каждом нажатии, но только с использованием эффекта сагибудет сделан последний (один) хит API.У этого также есть другой эффект и есть преимущества, но у него есть издержки обучения

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