React/react相关小结
React
React组件由React元素组成,React组件使用React.Component或React.PureComponent来生成;React元素使用JSX的语法来编写或使用
React.createElement()来生成;
Redux
action是一个对象,其中type字段是必须的。action是store数据的唯一来源;一般通过store.dispatch()把action传到store;
action创建函数是生成action的函数(通常返回一个对象)
reducers指定了应用状态的变化如何响应actions并且发送到store的(决定应用如何更新state)。
reducer 就是一个纯函数,接收旧的 state 和 action,返回新的 state。
(previousState, action) => newState
不可以在reducer里面有如下操作
- 修改传入参数;
- 执行有副作用的操作,如 API 请求和路由跳转;
- 调用非纯函数,如
Date.now()
或Math.random()
。
store就是把action和reducer联系到一起的对象。
redux应用只能有一个store。
createStore(reducer[, 初始init],enhancer)
严格的单向数据流是 Redux 架构的设计核心。
Redux 应用中数据的生命周期遵循下面 4 个步骤:
- 调用store.dispatch(action)(来告诉store要进行什么操作)
- Redux store调用传入的reducer函数(reducer函数执行)
- 根reducer应该把多个子reducer输出合并成一个单一的state树
- Redux store保存了根reducer返回的完整state树