redux-thunk初步使用

redux中间件,用来处理异步action

返回 一个函数  内部函数接收存储方法dispatchgetState参数

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{}

猜你喜欢

转载自www.cnblogs.com/cuikaitong/p/11057227.html