React学习之redux和react-redux

Redux作用

解决多个组件使用同一个数据的问题,即数据共享问题。因为react是单向数据流自上而下传递,数据是由父组件传递子组件。所以如果组件层级很多在使用到共享数据的时候会很麻烦。

主要对象

Store

全局数据源对象,负责与外部组件进行数据交互。

1.外部组件获取redux中的数据(store.getState), 然后把这个数据当做props渲染到组件中去。

2.外部组件更新redux中的数据(store.dispatch), 可以在jsx中调用此方法。

3.重新渲染外部组件(store.subscribe), 监视redux中state的变化。如果state有变化会自动调用组件中的render函数重新渲染页面。

State

数据存储对象,负责存储每个组件的当前数据。

1.外部组件想要获得当前state中的数据,需要通过调用store.getState

Action

消息通知对象,负责向Redux传递消息和必要的参数。

1.外部组件通过(store.dispatch)发送消息。

2.action对象中type字段是必须项,其他扩展字段不是必须项。比如({type:"men", age: "38"})

Reducer

逻辑处理对象,接到action消息做具体处理,生成新的state

1.通过(store.dispatch)实际调用的就是Reducer内部函数,发送action,执行reducer,返回state。

 

 

 

 

 

 

posted @ 2018-05-31 16:13  狗狗听话  阅读(313)  评论(0编辑  收藏  举报