Асинхронный поток

Без мидлвара (middleware) хранилище Redux поддерживает только синхронный поток данных. Это то, что вы получаете по умолчанию с createStore().

Вы можете расширить createStore() с помощью applyMiddleware(). Это не обязательно, но это позволит вам выразить асинхронные действия в удобном виде.

Асинхронный мидлвар, типа redux-thunk или redux-promise, оборачивает метод хранилища dispatch() и позволяет вам вызывать что-то, что не является объектом действия, например, функции или Промисы. Любые мидлвары, которые вы используете, могут интерпретировать все, что вы вызываете, и, в свою очередь, могут передать действие следующему мидлвару в цепочке. Например, мидлвар промисов (Promise middleware) может перехватывать промисы и отправлять пару начало/конец действия асинхронно в ответ на каждый промис.

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

Изучите полные исходные коды асинхронного примера.

Следующие шаги

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

results matching ""

    No results matching ""