第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

關于react輸入框的onChange事件的觸發(fā)問題

關于react輸入框的onChange事件的觸發(fā)問題

達令說 2019-03-19 17:14:36
最近在學習react.js的過程中遇到了一點問題,先上代碼圖:這個例子里面的input我給他添加了一個onChange事件事實改變state值來,并將state綁定在input的value上動態(tài)更新. 同時我在事件里面分別實時console除了state值和input的value值,問題就出現(xiàn)了...如下圖這個是輸出state值的結果,問題在于每次輸出的不是實時的值,而是上一次的值,相當于慢了一拍.這個是直接根據(jù)事件的event事件獲取到input取的實時value,這張圖就沒有這個問題.所以我有一點不明白,為什么setState執(zhí)行完畢之后,react的這一輪事務應該已經(jīng)結束了呀,組件的state已經(jīng)被更新了呀,為什么還會console出上一輪的值呢?望大佬解答.....ps: 題外話: 為什么要給input的value綁定上state,我覺得不綁定也是可以的啊,用戶可以正常輸入,只需要一個onChange事件更新state就好了...
查看完整描述

5 回答

?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

setState() 是一個異步操作,后面的 console.log() 執(zhí)行的時候, state 還沒更新完,所以輸出的是之前的值。


查看完整回答
反對 回復 2019-04-03
?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

setState作為一個異步操作,是支持回調(diào)的~

this.setState({value: event.target.value}, () => console.log(this.state.value))


查看完整回答
反對 回復 2019-04-03
?
當年話下

TA貢獻1890條經(jīng)驗 獲得超9個贊

這樣并沒有問題,你最后提交的state肯定是和你輸入的是一樣的


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號