npm 包 berx 使用教程

阅读时长 9 分钟读完

简介

berx 是一个用于 React 应用管理状态的 npm 包。它使用 Redux 和 immer.js,使我们能够更加简单、直观地进行状态管理。

安装

使用方法

初始化

我们需要先引入 berx:

然后我们可以通过 createStore 创建一个 store:

在 createStore 的 options 中,我们有以下可选属性:

  • state:初始化 store 的状态。例如:
  • mutations:用于修改 state 的同步函数。例如:
-- -------------------- ---- -------
----- ----- - -------------
  ------ -
    ------ --
  --
  ---------- -
    ---------------- -
      --------------
    --
    ---------------- -
      --------------
    --
  --
---
  • actions:用于执行异步操作并提交 mutations 的函数。例如:
-- -------------------- ---- -------
----- ----- - -------------
  ------ -
    ------ --
  --
  ---------- -
    ---------------- -
      --------------
    --
    ---------------- -
      --------------
    --
  --
  -------- -
    ---------------- ------ -- -
      ------------- -- -
        --------------------
      -- ------
    --
  --
---
  • modules:用于分割 state、mutations、actions。例如:
-- -------------------- ---- -------
----- ----- - -------------
  -------- -
    ----- -
      ------ -
        ----- --------
        ---- ---
      --
      ---------- -
        -------------- ----- -
          ---------- - -----
        --
        ------------- ---- -
          --------- - ----
        --
      --
      -------- -
        -------------- ------ -- ----- -
          ------------- -- -
            ----------------- ------
          -- ------
        --
      --
    --
  --
---

访问 state

我们可以直接访问 state 中的属性,例如:

提交 mutations

我们可以通过提交 mutations 来修改 state。例如:

也可以传递附加参数:

执行 actions

我们可以通过执行 actions 来执行异步操作,并最终通过提交 mutations 修改 state。例如:

actions 支持异步操作,部分流程代码如下:

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

监听 state 的变化

我们可以通过监听 state 变化来进行对应的操作。例如:

使用插件

我们可以使用插件来扩展 store 的功能。例如:

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

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

示例代码

基础使用

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

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

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

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

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

拆分 modules

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

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

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

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

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

使用插件

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

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

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

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

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

总结

在 React 应用中,使用 berx 可以更方便地进行状态管理。我们可以使用 createStore 来创建 store,并且在 options 中传入相应的 state、mutations、actions 和 modules。我们可以通过监听 state 的变化,执行 mutations 和 actions,来修改 state 的值。此外,使用插件还可以扩展 store 的功能。

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

纠错
反馈