美文网首页
Redux笔记

Redux笔记

作者: huyaoyao | 来源:发表于2018-10-06 16:09 被阅读0次

    Redux流

    Redux流

    首先我们有一个组件,这个组件要修改store中的数据,他就从 Action Creater 中拿到一个action;组件将这个action使用 store.dispath(action) 发送给store。store接收到这个action, Stroe 就拿着这个action和当前的state去问Reducer;Reducer接受到当前的state和action后将新的state返回给Store;Store就用这个新的state更新自己,然后告诉组件要重新展示什么数据。

    Redux中核心API

    createStore     //创建一个store
    store.dispath(action)    //派发一个action,这个action会传递给store
    store.getState()      //获取store里面的所有内容
    store.subscribe(callback)    //订阅store的改变,只要store发生改变,它接受的这个回调函数就会执行
    

    Redux的三个基本原则

    1. store是唯一的
    2. 只有store才能改变自己的内容

    可能新手认为是reducer在改变store的内容,但不是这样的。
    reducer拿到一个action,然后创建一个新的state返回给store,然后store再用这个state更新自己。所以store的数据不是reducer更新的,而是store拿到reducer的数据自己对自己更新的。

    3. reducer必须是纯函数

    纯函数的定义是:给固定的一个输入,就会返回一个固定的输出,而且不会有副作用。

    使用Action Creators 统一管理action

    在组件那边太多的action会让页面变得复杂、难以管理。所以我们将所有的action都放在actionCreators.js文件中,会让逻辑更清晰

    使用actionType来管理action的命名

    redux的action事件是用字符串命名的,当我们把aciton的变量名拼写错误的时候就会出现点了但没反应的情况,但是控制台里得不到任何的报错信息。如果我们使用一个常量来定义action名的话一旦出现拼写错误就会报错,这样就可以避免因为action名写错而得不到报错信息的情况。

    相关文章

      网友评论

          本文标题:Redux笔记

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