回来的架构怎么在ReactNative中使用

  

回来的架构怎么在ReactNative中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>为什么要使用回来的吗?

背景:

<李>

RN的状态(可变,子组件不可见)和道具(不可变,子组件可见)的设计,在面对大型项目时候,容易因为不经意修改国家造成状态混乱,组件渲染错误

<李>

RN使用了虚拟DOM,不需要目标绑定→行动修改UI属性,只要当状态变化,呈现新状态下的组件,数据单向传递,而MVC的设计模式存在双向数据流。

<李>

RN不易进行测试,回来的提供了非常方便的模拟测试方式。

<强>回来的开发

开发环境

<李>

安装回来的:“npm安装保存回来的# 39;

<李>

安装本机和反应回来的绑定库:npm安装保存react-redux

<李>

安装回来的铛异步行动中间件:npm安装保存redux-thunk

<强>三个原则

<强>单一数据源

整个应用的状态被储存在一个对象树中,对象树存在于唯一的商店中.store中绑的状态定到组件

状态是只读的

惟一改变状态的方法就是触发action.action是一个含有类型属性的普通JS对象,类型可以用常量表示事件。

使用纯函数来执行修改

编写还原剂来描述对应的行动如何修改状态。一般可以用开关(action.type)来处理,无副作用

<强>使用

react-redux提供了连接和提供者。

1.提供者是顶层的分发点,属性就是商店,将状态分发给所有被连接的组件

2。连接:接受两个参数:一个是mapStateToProps或者mapDispatchToProps,一个是要绑定的组件本身。

<强>存储

商店就是把减速器和行动联系到一起的对象.Store有以下职责:

<李>

维持应用的状态——类似数据库,存储应用的所有状态。

<李>

提供getState()方法。获取所有的当前状态;

<李>

提供调度(行动)方法更新状态,相当于存入数据库,存入行动来改变状态。

<李>

通过订阅(听众)注册监听器。

存储本质上是一个对象,它以树的形式保存了整个应用的状态。并提供了一些方法,例如getState()和调度()。

回来的应用只有惟一一个商店。

存储通过createStore方法来创建,根据整个应用的根减速器的初始状态。

代码如下:

import  {createStore的不同之处是,applyMiddleware },得到& # 39;回来的# 39;;   import  thunk 得到& # 39;redux-thunk& # 39;;//异步   import  reducers 得到& # 39;。/还原剂# 39;;   const  Store =, applyMiddleware(铛)(createStore)(还原剂);   export  default 存储;

<>强还原剂

操作只是描述了有事情发生了这一事实,并没有指明应用如何更新状态。这是减速器要做的事情。

减速器的本质是一个函数,并且是一个纯函数。没有任何副作用。简单来讲减速器只负责做一件事,就是根据接收到的动作和状态来修改中存储的状态:

(状态、动作)=比;newState

一般实现的时候,通过开关(action.type)来判断不同的行动,默认为旧状态。同时可以定义初始状态。

代码:

import  {, combineReducers },得到& # 39;回来的# 39;;   const  newState =, (state =, {},, action =,{}),=祝辞,{   ,switch  (action.type), {   case 才能;ActionTypes.CSTATE:   ,,return  {,……,……action.state };   case 才能;& # 39;_DPDATACHANGE_& # 39;:   ,,return  {…,,…action.dpState};   默认值:才能   ,,return 状态;   ,}   };//Reducer 合并   export  default  combineReducers ({   ,newState。   });

注意:返回的是新状态,如果需要保留部分旧状态值,使用…状态(ES7的对象展开语法,对对象会浅拷贝对应属性,这里等价于对象。分配({}、州newState)),而如果合并状态的话只会合并一层,对复杂的状态需要手动合并。

<强>操作

操作是一个普通JS对象,至少包括一个类型属性代表事件,其他属性可以用来传递数据。实践上对一个流程定义一个函数,流程可以包括网络请求,最后返回行动,这个函数叫行动创造者。

回来的架构怎么在ReactNative中使用