一、安装
cnpm install --save redux-actions
二、为什么使用 redux-actions
reducer使用switch case语句进行action类型判断,当action很多时候,reducer内容就不那么直观了。redux-actions简化了reducer和action的联系
三、基本使用
1、创建action/actionCreator.js
import { createAction } from 'redux-actions';
export const addnum = createAction('ADDNUM')
2、组件中引入使用
import React,{Component} from "react"; import store from "./store" import {addnum} from "./action/actionCreator"
export default class App extends Component{
constructor(){
super()
this.state = store.getState();
store.subscribe(this.handleUpdate.bind(this))
}
render(){
let {n} = this.state;
return (
<div>
<h2>{n}</h2>
<button onClick={this.handleClick.bind(this)}>点击</button>
</div>
)
}
handleClick(){
store.dispatch(addnum());
}
handleUpdate(){
this.setState(store.getState())
}
}
3、reducer中使用
import {handleActions} from 'redux-actions'; const defaultState = { n:10 } export default handleActions({ ADDNUM: (state, action) => { let newState = {...state}; newState.n++; return newState; }, }, defaultState)