[英]State not set in useEffect
我有一個 function 從本地存儲獲取數據並將本地存儲值設置為 state 但值沒有設置 state
這是我的代碼,
const [mobileNum, setMobilenum] = useState();
useEffect(() => {
getDatalocal();
}, []);
async function getDatalocal() { // get data from local
try {
let mobileNumRes = await AsyncStorage.getItem('@number_Token')
setMobilenum(mobileNumRes) // set mobile number for state
console.log("mobile num ======================================>>>", mobileNum)
} catch (error) {
console.log("error in get mobile no", error)
}
}
我在useEffect中調用這個function,誰能告訴我做錯了什么,請幫我解決這個問題
setMobilenum
是異步方法,因此您無法在setMobilenum
之后立即獲取mobileNum
的更新值。 您應該通過添加依賴mobileNum
在另一個 useEffect 中獲得它。
const [mobileNum, setMobilenum] = useState();
useEffect(() => {
getDatalocal();
}, []);
async function getDatalocal() { // get data from local
try {
let mobileNumRes = await AsyncStorage.getItem('@number_Token')
setMobilenum(mobileNumRes)
} catch (error) {
console.log("error in get mobile no", error)
}
}
useEffect(() => {
console.log("mobile num ==============>>>", mobileNum)
}, [mobileNum]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.