美文网首页
【Redux】—基本认知

【Redux】—基本认知

作者: 南慕瑶 | 来源:发表于2018-04-27 17:53 被阅读0次

    一、简述

    1.定义:Redux是JavaScript状态容器,提供可预测化的状态管理。

    2.设计动机:

    解决,当JavaScript需要存储大量state时,管理state困难的问题。

    3.要点:

    (1)应用中所有的 state 都以一个对象树的形式储存在一个单一的 store 中。 

    (2)唯一改变 state 的办法是触发 action(使用dispatch),一个描述发生什么的对象。

    (3)为了描述 action 如何改变 state 树,你需要编写 reducers

    4.理解三个角色:

    (1)store:存储所有state的一个对象

    (2)reducer:接收state、action的纯函数,返回新的state。描述不同的action如何改变state

    (3)action:一个对象,描述我们要对state做哪种修改。通过dispatch发送,reducer就能拿到这个对象

    【注】Redux只有一个单一的 store 和一个根级的 reduce 函数(reducer)

    5.reducer的实际使用:

    为了把 action 和 state 串起来,开发一些函数,这就是 reducer。

    reducer 只是一个接收 state 和 action,并返回新的 state 的函数。

    对于大的应用来说,我们编写很多小函数来分别管理 state 的一部分。之后再开发一个 reducer 调用这两个 reducer,进而来管理整个应用的 state。

    6.进一步理解执行逻辑(个人理解):

    通常,在actions.js中,执行dispatch,就是触发store中state更改的过程。

    二、三大原则

    1.单一数据源

    整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。

    2.state是只读的

    唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。

    3.使用纯函数来执行修改(reducers是纯函数)

    为了描述 action 如何改变 state tree ,你需要编写 reducers

    eg:

    相关文章

      网友评论

          本文标题:【Redux】—基本认知

          本文链接:https://www.haomeiwen.com/subject/qxlblftx.html