账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    dva @connect给组件注入props只后值为undefined
    27
    0

    问题描述

    在antdpro中使用dva 的@connect给组件注入props,组件取打印this.props查看注入的值为undefined;

    问题出现的环境背景及自己尝试过哪些方法

    组件代码
    @connect(({ testData, loading }) => ({
    testData,
    loading: loading.effects['test/fetchTestData'],
    }))

    class Test extends React.Component {
    state = {

    data: []

    }

    componentDidMount() {

    const { dispatch } = this.props;
      dispatch({
        type: 'test/fetchTestData'
    });

    }

    render() {

    console.log(this.props)//输出为注入的Props值为undefined
    ...
    
    

    models代码
    import { queryTestData} from '@/services/api';

    export default {
    namespace: 'test',

    state: {

    testData:[]

    },

    effects: {

    *fetchTestData({ payload }, { call, put }) {
      const response = yield call(queryTestData, payload);//fetch请求
      console.log(response)//成功获取mock数据
      yield put({
        type: 'getData',
        payload: response,
      });
    },

    },

    reducers: {

    getData(state, { payload }) {
      
      console.log(state,payload) //此处已打印出上面请求的市局
      return {
        ...state,
        ...payload,
      };
    },

    },
    };

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部