redux-thunk初步使用
redux中间件,用来处理异步action
返回 一个函数 内部函数接收存储方法dispatch
和getState
参数
demo:
import { GET_ONLINE_STATUS, SET_ONLINE_STATUS} from './action_type' import { changestatus, sysuserstatus } from '@/api' import { message } from 'antd'; const getOnlineStatusAction = (val)=>{ //action return { type:GET_ONLINE_STATUS, playload:{ text:val } } } export const getOnlineStatus = (params)=>{ return (dispatch, getState)=>{ //返回 thunk 函数 sysuserstatus(params).then(res=>{ if(res.Ret === 200){ dispatch(getOnlineStatusAction(res.Status)) } }) } } //组建中使用 const mapStateToProps = (state, ownProps) => ({ status:state.handleOnlineStatus.onLineStatus //用户在线状态(state.handleOnlineStatus 此处这样用是因为reducer中使用了redux中的combineReducers()函数) }) const mapDispatchToProps = { getOnlineStatus, setOnlineStatus } @connect(mapStateToProps,mapDispatchToProps) class{}