React-Redux是一个 React 生态中常用组件,它可以简化Redux流程,本文我们就重新建立一个项目Demo2,然后我们会用React-redux把之前的TodoList案例重新实现一遍。当然,如果你公司不用这个插件,其实没必要耗费时间学。但是作为一篇文章,必须保证知识尽可能完整。(需要注意的是概念:React、Redux、React-redux 是三个不同的东西)
React项目初始化
因为我以前已经安装了脚手架工具creat-react-app,所以现在直接在项目的终端中输入下面的命令。(如果你安装这个还不会,请看我react 教程基础)
create-react-app demo02 cd demo02 npm start
经过上面的三个命令,应该可以在浏览器中出现下面的界面(出现画面说明我们项目初始化完成)。

虽然很丑,但是项目已经跑起来了。接下来我们编写一下render函数中的 JSX 页面(为了节省大家的时间,就不再使用antd了)。
render() {
return (
<div>
<div><input /><button>提交</button></div>
<ul>
<li>mybj</li>
</ul>
</div>
);
}
这时候界面应该发生了一点变化,这样基本的项目我们就算初始化完成了,接下来我们按原来的Redux方式作一个store出来。
Redux的安装和使用(复习)
先在终端中安装Redux包,因为是一个新项目,所以需要重新安装。
npm install --save redux
首先创建一个store文件夹,在/store下创建一个index.js文件,并写入下面代码:
import {createStore} from 'redux'
import reducer from './reducer'
const store = createStore(reducer)
export default store
目前我们还没有reducer,所以我们要创建reducer.js文件,代码如下:
const defalutState = {
inputValue : 'mybj',
list :[]
}
export default (state = defalutState,action) =>{
return state
}
然后再TodoList.js中的构造函数constructor中使用。
import React, { Component } from 'react';
//-----关键代码--------start
import store from './store'
//-----关键代码--------end
class TodoList extends Component {
//-----关键代码--------start
constructor(props){
super(props)
this.state = store.getState()
}
//-----关键代码--------end
render() {
return (
<div>
<div>
//-----关键代码--------start
<input value={this.state.inputValue} />
//-----关键代码--------end
<button>提交</button>
</div>
<ul>
<li>mybj</li>
</ul>
</div>
);
}
}
export default TodoList;
写完这段,到浏览器中保存看一下,应该就得到store中的值了,到目前为止,我们只是安装了React-Redux,但是还并没有进行使用,本文主要是把基本的环境搭建好和复习一下以前的知识。下篇文章我们再逐步学习React-Redux的知识,所以小伙伴们先不要着急,先把开发环境搭建好吧。