• react native 中的redux


    一、使用redux 的条件:

      1、某个组件的状态,需要共享;

      2、某个状态需要在任何地方都可以拿到;

      3、一个组件需要改变全局状态;

      4、一个组件需要改变另一个组件的状态。

    redux   说明白点,其实就是一种机制,可以在同一个地方查询状态、改变状态、传播状态的变化。

    二、redux 中的store

       store  可以认为是一个保存数据的地方,可以看成一个容器。

      通过createStore  来生成store;

      通过store.getState() 拿到数据;

    三、redux 中Action

        View 通过Action 来改变state,它会运送数据到store。Action  是一个对象,其中type  属性是必须的,表示Action的名称。

    四、redux 中的dispatch()

       store.dispatch ()是View 发出Action 的唯一方法。

         

    五、reducer

         store 收到Action 以后,必须给出一个新的state,这样View 才会发生变化。这种state的计算过程就叫做reducer。

         reducer 是一个纯函数,它接受Action 和当前state作为参数,返回一个新的state。

       

    const reducer = function (state, action) {
      // ...
      return new_state;
    };

    实际中的运用:

    import { createStore } from 'redux';
    const store = createStore(reducer);
    

      上面代码中,createStore  接受Reducer  作为参数,生成一个新的Store。以后每当store.dispatch 发送过来一个新的Action,就会自动调用reducer,得到新的state。

    六、reducer  纯函数

          纯函数的一个特性就是:只要是同样的输入,必定得到同样的输出。

         纯函数是函数式编程的概念,必须遵守以下的一些约束:

        

    1、不得改写参数;
    2、不能调用系统I/O的API;
    3、不能调用Date.now  或者Math.random ()等不纯的方法,因为每次会得到不一样的结果

         reducer 函数里面不能改变state,必须返回一个全新的对象。

  • 相关阅读:
    了解DockerFile
    容器数据卷
    Docker镜像讲解
    Java语法学习笔记:多态
    决策树之分类与回归
    python数据分析回归算法
    python之斐波那契序列算法的总结
    pandas 关于数据分组和聚合
    pandas中关于数据合并join,merge
    scrapy爬虫之断点续爬,增量爬取,断网急救
  • 原文地址:https://www.cnblogs.com/leyan/p/6424616.html
Copyright © 2020-2023  润新知