学会使用 Redux-Thunk 中间件

阅读时长 4 分钟读完

Redux 是 React 生态圈中最常用的状态管理库之一,可以很方便地管理 React 应用的状态。但是在处理异步 action 时,Redux 并不能提供很好的支持。这时就需要借助 Redux-Thunk 中间件来处理异步 action。

什么是 Redux-Thunk 中间件

Redux-Thunk 是一个 Redux 中间件,允许 action 创建器返回一个函数而不是一个对象。这个函数可以接收 dispatchgetState 两个参数,可以在函数体内进行异步操作。当这个函数执行完毕后,再通过 dispatch 触发一个普通 action。

安装

在使用 Redux-Thunk 中间件之前,需要先安装它:

使用

在创建 store 时,需要将 Redux-Thunk 中间件传递给 createStore 函数:

然后在 action 创建器中,返回一个函数即可。在这个函数中,可以进行异步操作,并通过 dispatch 触发一个普通 action:

-- -------------------- ---- -------
----- ------------------ - ---------------------
----- ------------------ - ---------------------
----- ------------------ - ---------------------

-------- ------------------ -
  ------ -
    ---- - ------------------
  -
-

-------- ---------------------- -
  ------ -
    ---- - -------------------
    ------- - ----
  -
-

-------- ----------------------- -
  ------ -
    ---- - -------------------
    ------- - -----
  -
-

-------- ----------- -
  ------ ---------- --------- -- -
    -----------------------------

    -------------------------------------
      -------------- -- ----------------
      ---------- -- -
        ---------------------------------
      --
      ------------ -- -
        ----------------------------------
      ---
  -
-

在上面的代码中,fetchData 返回一个函数,而不是一个对象。这个函数接收两个参数:dispatchgetState。函数体内进行异步操作后,可以通过 dispatch 触发一个普通 action。

总结

使用 Redux-Thunk 中间件可以让 Redux 很好地支持异步操作。在 action 创建器返回一个函数后,就可以在函数体内进行异步操作。在操作完成后,再通过 dispatch 触发一个普通 action。

示例代码

完整的示例代码可以在 GitHub 上找到:https://github.com/example/redux-thunk-example

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fc652af6b2d6eab3223a84

纠错
反馈