redux的适用场景
页面有很多交互,
有太多props需要在组件树中传递
一个页面有多个ajax
下面是redux的流程图
redux的组成
Action 事件
本质上就是一个JS对象 必须包含type属性,只是描述了有事情要发生,并没有描述如何去更新state,传递给reducer改更新的state
Reducer
本质就是函数,Reducecr中是更改store中数据的stare返回一个新的stare 来完成视图的更新
Store
简单来说用来把action和reducer关联到一起,store就是redux的一个数据中心,store就是用来存储数据state的,从中取出对应的数据。因此最开始,我们要创建一个这样的store,redux提供了createStore方法。
store通过subscribe来注册监听 通过dispatch来发送action到达reducer
如何更改/获取redux数据
更改数据store.dispatch(action)
在组件中使用
const action ={
type:'NUM',
num:count (count是需要执行的函数)
}
store.dispatch(action) 组件中也是主要使用subscribe来监听 store store发生数据变化视图就会更新
在store中定义数据库
在reducer中 定义num 的值 定义 (state = num,action) 通过type值来执行相对的操作
当你更改数据时 去
可以使用connect更改redux数据
获取数据 store.getState()
在 store文件中 使用 store = createStore(reducer) 创建数据存储库
在Reducer 文件 可以定义一个数据 const book1= {value: '这是数据'}
function state(state = defaultState,action){return state}
最后return导入
组件中 先import引入store 使用 store.getState() 可以获取到redux存储的数据