(一) state,设置初始变量的值
- 整个项目共用一个state
- 在initState定义一个变量,比如isLogin
(二) 获取state里的变量 - mapStateToProps(类似mapGetters) 把state的变量放入props,所以state里定义的变量可以通过this.props.isLogin访问
- 可以访问所有模块定义在initState里的变量
(三) 修改state里面的变量的值,比如修改isLogin的值 - vue修改state的流程: action => mutation => (修改)state
redux修改state的流程: action => reducer => state - 具体实现
- 创建一个action,比如updateLoginState
- mapDispatchToProps 使用mapDispatchToProps把需要的aciton都放入props,
- 使用this.props.updateLoginState来调用这个action
- action把派发的时候,所有的reducer都会执行,我们只需要处理对应的action就行
带有mapDispatchToProps和mapStateToProps的那个组件叫做高阶组件(也叫容器组件),使用connect把一个普通的组件变成高阶组件
网友评论