使用react-redux
,可以更方便的使用redux
开发
先install react-redux
使用react-redux
将不再需要subscribe
来订阅更新和dispatch
而reducer
和action
不变
需要引入两个对象Provider和connect来连接redux和react-redux
在ReactDOM.render
中引入import {Provider} from './react-redux'
Provider
是当作组件来使用的
ReactDOM.render(
(<Provider store = {store}>
<App></App>
</Provider>),document.getElementById('root')
)
在最外层使用Provider 传入store`
在子组件中引入import {connect} from 'react-redux'
1、connect
负责获取外部的属性和方法需要传入两个参数:状态和方法。状态必须为对象
2、connect
返回一个函数在这个函数中传入子组件之后会生成一个新的App组件
3、通过connect
连接后便可以将状态和方法绑定到this.props
上
const propsState=(state)=>{
return {num:state}
}
const actions = {ADD,REMOVE,addAsync}//外部引入的方法
App = connect(propsState,actions)(App)
4、优化connect
npm install babel-plugin-transform-decorators-legacy --save
在package.json
文件的plugins
中加入["transform-decorators-legacy"]
上述的代码便可以写成这种形式
@connect(
state=>{
return num:state
},
{ADD,REMOVE,addAsync}
)
但@connect
必须写在声明组件class
前面
网友评论