亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在 react-redux 上未定義 [object Object]

為什么在 react-redux 上未定義 [object Object]

開心每一天1111 2021-12-02 15:57:17
我有一個 arry :classesAll:[0:{id:1,title:'test1'},1:{id:2,title:'test2'}]當我'console.log(this.props.classes.classesAll)'它到控制臺時,它不會返回我的數組的異常值。相反,它顯示以下內容: undefined [object Object],[object Object]async componentDidMount() {    await this.props.showAllClasses();    console.log("***", this.props.classes.classesAll)  }Redux action:export const showAllClasses = () => {    return async dispatch => {       dispatch(pageLoading(true));            await  Api.get(`classes.php`).then(res => {                //this.state.all = res.data;                const classesAll = res.data.data;                state.classesAll = classesAll;            });       await dispatch(onChangeClasessAll(state.classesAll));       dispatch(pageLoading(false));        };    };    export const onChangeClasessAll = classesAll => {        const type =  CLASSES_ALL;         return   { type , classesAll};      };
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

請改進您的操作并確保您從服務器獲取 res.data。


export const showAllClasses = () => dispatch => {

   dispatch(pageLoading(true));

   const res = await Api.get(`classes.php`);

   dispatch(onChangeClasessAll(res.data));

   dispatch(pageLoading(false));

};

然后在渲染方法中控制臺 this.props 就像


render(){

  console.log(this.props);

  return

    ......

}

您將在控制臺中看到所有道具,因此您可以輕松地從那里獲取數據。


查看完整回答
反對 回復 2021-12-02
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

因為您的請求是異步的。當請求返回時,你應該安慰它。在 react-native 0.6 中,您可以在 getDerivedStateFromProps(props, state) 方法中進行


static getDerivedStateFromProps(props, state) {

    console.log(props.classes.classesAll)

}

在 react-native 0.6 之前,你應該在 componentWillReceiveProps() 方法中做


componentWillReceiveProps(nextProps) {

 console.log(props.classes.classesAll)

}


查看完整回答
反對 回復 2021-12-02
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

無法預測確切原因,只是想知道以下行的作用, state.classesAll = classesAll;


查看完整回答
反對 回復 2021-12-02
  • 3 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號