react native 中的redux

Posted 雪昀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,必须返回一个全新的对象。

 

以上是关于react native 中的redux的主要内容,如果未能解决你的问题,请参考以下文章

react-native 中的 Redux 错误

在 Redux 中没有 React Navigation 状态的 React Native 中的 Redux

react native 中的redux

dispatchin action redux 后导航与 react native

react native和redux的以下代码是啥意思

使用 redux-thunk 从 React Native 中的动作创建者返回 Promise