前言
Redux 是一个 JavaScript 应用程序状态容器,它可以方便地管理复杂的应用程序状态。Redux-Promise 是 Redux 生态系统中最流行的中间件之一,它使异步操作变得更容易。
本文将深入介绍 Redux-Promise 的使用。
简介
Redux-Promise 是一个 Redux 中间件,它可以为 Redux 提供异步支持。它是一个带有 Promise 的中间件,它可以帮助我们在 Redux 中 dispatch 异步操作。
基本使用方法是,将一个 Action Creator 返回的 Action 改为返回一个 Promise。这会导致 Redux-Promise 中间件截获该 Action,等待 Promise resolve 后,将 resolve 的结果作为新的 Action 再次 dispatch。
下面,我们将详细介绍 Redux-Promise 的使用。
安装
首先,你需要安装 Redux 和 Redux-Promise。
npm install --save redux redux-promise
用法
创建一个 Promise Action Creator
首先,我们需要创建一个 Promise Action Creator,它会返回一个 Promise。例如:
-- -------------------- ---- ------- ------ ----- ---- -------- ----- ---------- - -- -- - ------ ----------------------- -------------- -- -- ----- ---------------------- -------- ------------- --- ------------ -- -- ----- ---------------------- -------- ------------- ---- -
应用 Redux-Promise 中间件
我们需要将 Redux-Promise 中间件应用到 Redux Store 中。例如:
import { createStore, applyMiddleware } from 'redux'; import promiseMiddleware from 'redux-promise'; import reducer from './reducers/index'; const store = createStore( reducer, applyMiddleware(promiseMiddleware) );
这样,我们就可以开始 dispatch 我们的 Promise Action 了。
发送 Promise Action
我们可以像正常的 Action 一样 dispatch 我们的 Promise Action,Redux-Promise 中间件会截获该 Action,等待 Promise resolve 后,将 resolve 的结果作为新的 Action 再次 dispatch。
例如:
store.dispatch(fetchUsers());
示例代码
完整的示例代码如下:
-- -------------------- ---- ------- -- ---------- ------ ----- ---- -------- ----- ---------- - -- -- - ------ ----------------------- -------------- -- -- ----- ---------------------- -------- ------------- --- ------------ -- -- ----- ---------------------- -------- ------------- ---- - ------ - ---------- -- -- ----------- ----- --------- - - ------ --- ---------- ------ ------ ---- - ----- ------------ - ------ - ---------- ------- -- - ------ ------------- - ---- -------------- ------ - --------- ---------- ----- ------ ---- - ---- ---------------------- ------ - --------- ---------- ------ ------ ----- ------ -------------- - ---- ---------------------- ------ - --------- ---------- ------ ------ --------------- ------ -- - -------- ------ ------ - - ------ ------- ------------- -- -------- ------ - ------------ --------------- - ---- -------- ------ ----------------- ---- ---------------- ------ ------- ---- ------------------- ----- ----- - ------------ -------- ---------------------------------- -- -----------------------------
总结
Redux-Promise 是 Redux 中最流行的中间件之一,它使异步操作变得更容易。在使用 Redux-Promise 时,我们只需要创建一个 Promise Action Creator,然后将该 Action Creator 发送到 Redux Store 中即可。Redux-Promise 中间件会截获该 Action,等待 Promise resolve 后,将 resolve 的结果作为新的 Action 再次 dispatch。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f30469f6b2d6eab3c88ab1