一. redux的使用:
1)首先安装两个包 yarn add redux react-redux 注释:yarn add xxx相当于 npm xxx --save
2)redux的初级使用 安装成功后,在项目根目录src文件夹下创建一个如 store的文件夹 创建index.js和reducer.js文件 注意:store里面的reducer是总的reducer
3)在项目跟目录src下创建一个文件夹componts用来存放我们的模块文件,里面创建一个one文件夹,里面新建一个index.js和reducer.js文件
在src目录下的App.js文件里面引入我们的one组件并渲染
4)在store文件夹下面的index.js代码如下
5)one组件下面的reducer.js文件代码如下
这样如果发出了动作就可以使n加一了,使用键值对的形式更新n值
index.js文件里面创建一个基本的类组件
注释:如果vscode安装了 ES7redux插件 输入rxx就可以快捷创建一个基本redux文件 case 后面的必须是一个常量,使用’'包裹起来
6)store文件下的index.js代码如下
导入组件下面的reducer文件使用,然后导出
7)在src目录下的indes.js引入redux import {Provider} from ‘react-redux’
引入总的redux import store from ‘./store’
引入 router import{BrowserRouter as Router} from ‘react-router-dom’
注:Provider为什么可以向App组件提供store? 是因为connect是通过Provider去提供store,然后通过上下文拿到这个store,就可以消费了
8)在one组件的index.js文件修改为以下代码
这样我们就取得了仓库里的n值
注:connect的作用是连结容器组件到ui组件
二.以上是取出仓库的值并渲染,下面我们做一个简单操作,使一个按钮被点击时让n加一
1).在one组件里新建一个actionCreator.js文件
代码如下
2)one组件下的index.js文件下引入 import actionCreator from ‘./actionCreator.js’
导出代码修改为 export default connect(mapState,actionCreator)(One);这相当于把actionCreator方法映射过来了
现在我们启动项目后,点击+号按钮,就可以将n值加一了