dva-rudux用法

6 篇文章 0 订阅
5 篇文章 0 订阅
//models/global.js
export default {
    namespace: 'global',
    state: {
        status:0
    },
    //监听
    subscriptions: {
        // 函数名可以随便起
        keyEvent({dispatch}){
            window.onresize = function(){
                dispatch({type: 'add'})
            }
        }
    },
    reducers: {
        //更新 state
        updateStatus(state, {status}) {
            console.log("查看数据",status);
            return { ...state, status};
        }
    },
    effects:{
        *asyncDecr({payload},{call,put,select}){
            console.log("异步操作数据",payload);
            yield call(()=>{
                setTimeout(()=>{
                    console.log("执行异步操作");
                },1000);
            }); //执行异步操作
            yield select((dar)=>{
                console.log("获取action",dar)
            });  //获取select
            yield put({type:"updateStatus",status:0}); //提交action
        }
    }
};
//home.js
//事件执行函数,如点击事件,改变action函数
updateStatus = (status) => {
    let {dispatch} = this.props;
    dispatch({type:"global/updateStatus",status:status});
};
function mapStateToProps(_state) {
    return {_state}
}
export default connect(mapStateToProps)(IssueList);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值