redux学习笔记

三大原则:

1,单一数据源

2,state只读

3,纯函数执行修改


reducer是一个纯函数,接受state和action,返回新的state。

永远不要在reducer里面做这些操作:

- 修改传入参数

- 执行有副作用的操作,如API请求和路由跳转

- 调用非纯函数 如Date.now()  Math.random()


action描述发生了什么

reducers根据action更新state

store有以下职责:

- 维持应用的state

- 提供getState()方法获取state

- 提供dispatch(action)更新state

- 通过subscribe(listener)注册监听器

- 通过subscribe(listener)返回函数注销监听器


使用combineReducers()将多个reducer合并成一个,并传递createStore()

import { createStore } from 'redux'

import todoApp from './reducers'

let store = createStore(todoApp)


严格的单向数据流是redux架构的设计核心一个组件就是一个状态机,对于特定地输入,它总返回一致的输出

你可能感兴趣的:(redux学习笔记)