Redux 之初始化 state 是如何进行设置的

阅读时长 4 分钟读完

Redux 是一种 JavaScript 状态管理库,用于管理应用程序的状态。Redux 的核心概念是 store,它是一个包含整个应用程序状态的对象。store 由 reducer 函数创建,reducer 函数使用 action 对象来更新状态。在创建 store 时,我们需要设置初始状态,本文将介绍 Redux 中如何设置初始化状态。

初始化 state 的方式

Redux 中有两种初始化 state 的方式:

  1. 在 reducer 函数中设置默认值。
-- -------------------- ---- -------
----- ------------ - -
  ------ --
--

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

在上面的例子中,我们在 reducer 函数中设置了默认的初始状态,如果在创建 store 时没有传入 state 参数,就会使用默认的 initialState。

  1. 在创建 store 时传入初始状态。

在上面的例子中,我们在创建 store 时传入了初始状态 initialState,这个初始状态会被作为 reducer 函数的第一个参数。

设置复杂的初始状态

在实际开发中,应用程序的状态可能会非常复杂。我们可以使用 combineReducers 函数将多个 reducer 函数合并成一个 reducer 函数,然后设置初始状态。

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

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

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

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

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

在上面的例子中,我们定义了两个 reducer 函数 todosReducer 和 visibilityFilterReducer,然后使用 combineReducers 函数将它们合并成一个 rootReducer。我们在创建 store 时传入了初始状态 initialState,这个初始状态包含了 todos 和 visibilityFilter 两个属性。

总结

在 Redux 中,我们可以通过在 reducer 函数中设置默认值或者在创建 store 时传入初始状态的方式来设置初始状态。当应用程序状态非常复杂时,我们可以使用 combineReducers 函数将多个 reducer 函数合并成一个 rootReducer,然后设置初始状态。设置合理的初始状态可以使应用程序更加稳定和可维护。

参考资料

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

纠错
反馈