[英]React native variable not update inside function
const [businessHour, setBusinessHour] = useState("");
const getHour = () => {
console.log(businessHour);
}
setBusinessHour('1234');
getHour();
結果顯示“”而不是“1234”,有什么方法可以更新變量嗎? 謝謝
請更新您的整個組件代碼。 結果會先顯示空字符串""
,然后當 state 改變時,會打印"1234"
。 所以會有多個日志記錄,而不僅僅是一個。
我之前也遇到過同樣的問題。 我的解決方法是創建一個臨時變量來使用,因為 state 尚未更新。
const [businessHour, setBusinessHour] = useState("");
const getHour = (businessHour) => {
console.log(businessHour);
}
let newBusinessHour = '1234'
setBusinessHour(newBusinessHour);
getHour(newBusinessHour);
更好的方法是使用 useEffect 回調:
const [businessHour, setBusinessHour] = useState("");
useEffect(() => {
getHour()
},[getHour])
const getHour = useCallback(() => {
console.log(businessHour);
},[businessHour])
setBusinessHour('1234');
所以這里基本上useEffect
將在getHour
更改時調用,這取決於businessHour
希望能幫助到你。
如果要更新一些視圖,然后更新 state,則可以更新 state。 在上述情況下,您不需要更新 state。
businessHour = '1234';
getHour();
然后你會得到你想要的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.