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

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

React 函數組件的 setState 未更新我的狀態

React 函數組件的 setState 未更新我的狀態

呼如林 2023-10-20 17:38:29
我正在設置簽入和簽出日期的開始日期和結束日期的狀態。我得到 validDateRange 它是有效日期和長度的數組。嘗試將總狀態設置為數組長度乘以房間價格,但不知何故反應不更新我的總狀態。TotalCost 的日志完全正確const RoomDetails = (props) => {    const roomDetails = props.location.state;    const [startDate, setStartDate] = useState();    const [startEnd, setEndDate] = useState();    const [total, setTotal] = useState();    const handleOnSelectCalendar = (startDate, endDate, validDateRange) => {        // console.log(startDate, endDate, validDateRange.length);        setStartDate(startDate);        setEndDate(endDate);        // console.log(roomDetails.price, validDateRange.length);        // var totalCost = roomDetails.price * validDateRange.length;        setTotal(roomDetails.price * validDateRange.length);        console.log(startDate, endDate, total); // output: 2020-12-08 2020-12-11 undefined    };    return (...);}
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

setState是異步的。設置狀態后立即同步控制臺日志記錄以查看該狀態之后的樣子很可能不會反映正確的值。如果您想查看更改時的值total,請嘗試以下操作:


useEffect(() => {

  console.log(total);

}, [total]);


查看完整回答
反對 回復 2023-10-20
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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