npm 包 redux-turn 使用教程:

阅读时长 4 分钟读完

什么是 redux-turn?

redux-turn 是一款可以帮助我们简化 Redux 异步 action 处理代码的包。它可以让我们更加专注于业务逻辑的处理,而不用在意一些冗余的代码。

安装和使用

要使用 redux-turn,需要确保项目已安装了 Redux。然后,可以运行以下命令安装 redux-turn:

接下来,让我们来看一个使用 redux-turn 的示例。假设我们的应用程序有一个 todo list 功能,并且我们希望用户能够从远程服务器中获取一个初始 todo 列表。首先,在 Redux store 中定义一个名为 todo 的 reducer:

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

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

但是,我们如何异步获取 todo 列表呢?这里,redux-turn 就可以派上用场了。我们可以使用 createAsyncThunk 创建一个异步 action,例如:

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

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

在上面的代码中,我们首先导入了 createAsyncThunk 函数,然后使用它创建了一个名为 getTodos 的异步 action。

接下来,我们可以使用创建的 async action。在我们的组件中调用 dispatch(getTodos()),即可触发异步 action,并且在获取到 todos 之后,redux-turn 会自动地 dispatch 一个名为 todos/getTodos/fulfilled 的 action。在我们的 reducer 中,我们可以从这个 action 中获取 payload(即 todos)并更新我们的 state。

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

-- ---

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

-- ---

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

-- ---

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

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

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

在上面的代码中,我们创建了一个我们的组件 TodoList,并使用了 mapDispatchToProps 函数的方式 dispatch 了 getTodos action。

这样,我们就成功地使用 redux-turn 实现了异步 action 处理。我们再也不用写那些冗余的代码来处理异步 action 了!

为什么需要 redux-turn?

使用 Redux 进行状态管理的应用程序中,由于需要处理异步操作,我们经常需要编写很多冗余的代码。使用 redux-turn 可以让我们更加专注于业务逻辑的处理,而不用过多地担心一些底层的细节。

总结

redux-turn 是一款非常有用的 npm 包,可以帮助我们简化 Redux 异步 action 处理代码,提高我们的开发效率。在实际项目中使用时,我们只需要按照本文所述的方法,即可轻松上手。

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

纠错
反馈