Redux 的所有方法和变量的详细解释

阅读时长 8 分钟读完

什么是 Redux?

Redux 是一个 JavaScript 应用程序状态容器,它可以管理 React、Angular、Vue 等前端框架的应用程序状态。Redux 的主要作用是存储程序的状态和提供一种简单的方法来更新它。Redux 核心理念是单一状态树,意味着你整个应用程序的状态被存储在一个单一的 JavaScript 对象中。

Redux 的应用场景

Redux 的应用场景包括:多个视图依赖同一组数据、大型应用程序、程序状态的共享、服务器端渲染等。Redux 广泛用在 React 等前端框架的应用程序中。

Redux 方法和变量详解

createStore 方法

createStore(reducer, [preloadedState], [enhancer]) 方法创建一个 Redux store,它接受三个参数:

  • reducer:一个函数,用于更新应用程序状态;
  • preloadedState:初始状态,可选参数;
  • enhancer:一个函数,用于增强 Redux store 的功能,比如使用中间件等,可选参数。
-- -------------------- ---- -------
------ - ----------- - ---- --------

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

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

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

combineReducers 方法

combineReducers(reducers) 方法合并多个 reducer 函数,每个 reducer 函数负责更新应用程序状态树中的一部分状态。combineReducers 方法返回一个新的 reducer 函数,该函数把每个子 reducer 的返回值组合成一个状态对象。

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

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

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

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

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

getState 方法

getState() 方法返回当前的应用程序状态树。

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

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

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

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

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

dispatch 方法

dispatch(action) 方法触发一个 action,使应用程序状态树的数据更新。

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

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

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

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

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

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

subscribe 方法

subscribe(listener) 方法订阅 Redux store 的更新,当 state 更新时自动执行传入的函数。

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

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

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

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

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

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

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

applyMiddleware 方法

applyMiddleware(...middlewares) 方法是一个高阶函数,它将多个 middleware 组合成一个单一的函数链。middleware 就是在 Redux 的 action 和 reducer 之间进行处理的函数。常用的 middleware 有:redux-thunk、redux-saga 等。

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

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

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

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

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

总结

Redux 是一个 JavaScript 应用程序状态容器,它可以管理 React、Angular、Vue 等前端框架的应用程序状态。Redux 的主要作用是存储程序的状态和提供一种简单的方法来更新它,它有 createStore、combineReducers、getState、dispatch、subscribe、applyMiddleware 等方法和变量。在使用 Redux 的时候,我们需要了解它的基本使用方法,掌握它的核心理念和常用的 middleware,才可以更好地管理应用程序的状态并创建出更加复杂的应用程序。

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

纠错
反馈