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

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

在事件監聽的回調函數里調用this.setState()函數無效

在事件監聽的回調函數里調用this.setState()函數無效

侃侃爾雅 2019-03-07 18:19:40
componentDidMount() {       eventProxy.on('event', async (id) => {        const getList = (id) => {            return $http.get('api/list' + id)                .then(res => res.data.data)        }        const list = await getList(id)        console.log(list)        this.setState({ data: list}, () => console.log(this.state.data))    })}整個方法寫在componentDidMount()函數里,eventProxy會監聽一個event事件,并接收一個id參數,在回調函數中使用這個id參數發送請求獲取一個數組,再將這個數組賦值到this.state.data。然而,console.log(list)這句話已經成功打印出數組了,console.log(this.state.data)這句卻并沒有執行,請問是為什么呢?應該怎么解決?by the way, state.data 在初始化的時候是個空數組。
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

看下this指向哪里,正常來說箭頭函數里的this是靜態綁定的,指向了組件實例對象


查看完整回答
反對 回復 2019-03-22
  • 1 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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