Redux-Sagas основан на функциях генератора .Каждый раз, когда вы вызываете один из них, он выполняется, пока не достигнет yield
.Это, помимо того, что вы можете выполнять асинхронные действия в ожидании обещаний, имеет ряд преимуществ, например, при тестировании.
По сути, в процессе тестирования здесь избегают насмешек.Для этого применяется декларативный подход.Дело в том, что вы не отправляете (и на самом деле ничего не делаете), промежуточное ПО делает .Это промежуточное ПО предоставляется только с объектами, называемыми Effects .Итак, put сделает для создания объекта Effect, который промежуточное программное обеспечение будет «читать».Затем он отправит действие и использует next(result)
(с result
, являющимся результатом того, что Эффект велел промежуточному программному обеспечению) , чтобы перейти к следующему выходу и получить следующий эффект ,Вы можете прочитать больше об этом здесь .
Помните, что основные преимущества redux-sagas по сравнению с redux-thunk появляются, когда тестирование наступает . Возможность просто объявить, какой Эффект будет возвращаться каждым путом, вызывать ... , а затем просто выполнять итерацию от yield до yield вместо того, чтобы имитировать вызовы или диспетчеризацию API-вызовов.пункт продажи редукс-саг.Вам, вероятно, нужно прочитать и попрактиковаться еще немного, прежде чем вы полностью овладеете концепцией, но я надеюсь, что мое объяснение решит ваши сомнения.