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

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

設置狀態方法似乎不執行任何操作。為什么?

設置狀態方法似乎不執行任何操作。為什么?

慕碼人2483693 2022-08-18 15:59:10
const _id = match.params.id;const response = await api.get("/roleidindex", {  params: {    _id  }})console.log (response.data); //correct objectsetRole(response.data);console.log (role); //{}在我的代碼中,我有這段文本,并且由于注釋顯示請求的響應很好,但是當我將狀態設置為值時,狀態與其初始狀態相同。順便說一句,這一切都在useEffect方法中。
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

調用狀態更改時,組件不會立即更新 - 而是對更改進行批處理,以便一次完成所有排隊的更改,然后重新呈現。


使用鉤子,代碼中的變量無論如何都不會收到更新的數據,因為必須再次調用整個組件才能使更新的值存在 - 只有在下次調用組件時,才會為組件分配從 中獲取的更新值。roleroleuseState


如果要記錄數據,假設它開始時為空,則應在主組件正文中執行此操作:


const [role, setRole] = useState(null);

if (role) {

  console.log('Got data', role);

}


查看完整回答
反對 回復 2022-08-18
  • 1 回答
  • 0 關注
  • 81 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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