浅谈redux
最外层是Provider(react-redux解构出来)<Provider store={store}>
然后是store, store里面是reducer
reducer传两个参数(state,action)返回新的state
页面用connect(mapstate,dispatchstate,组件)或者使用装饰器
为什么reducer是纯函数
因为不能改变输入值state,说白了就是reducer传state和action返回新的state
为什么这样设计
因为页面渲染需要比较新旧state,react比较state比较的是地址(也就是浅比较,如果深比较耗费性能)所以必须返回新的state,否则页面不更新
什么是纯函数
1、相同的输入永远返回相同的输出
2、不能修改输入值
3、不依赖外部环境
4、无任何副作用
网友评论