我正在尝试从本地存储中获取项目,但它没有正确地与我一起渲染,我应该通过对代码进行任何更改来刷新应用程序,并在登录或注销时保存,这是我的代码
useEffect(() => {
const _getUserhData = async () => {
try {
let userInfo = await AsyncStorage.getItem('userData');
if (userInfo) {
const parsedUserData = JSON.parse(userInfo);
setUserData(parsedUserData);
console.log(userData, 'userData');
}
} catch (error) {
console.error('Error retrieving data:', error);
}
};
_getUserhData();
}, [userInfo]);
从您分享的内容来看,范围内没有声明
userInfo
,例如React 函数组件主体的范围。
据我所知,您应该删除
userInfo
并使用空依赖项数组,因为 useEffect
钩子回调中没有外部依赖项。
const [userData, setUserData] = React.useState(null);
useEffect(() => {
const getUserData = async () => {
try {
const userInfo = await AsyncStorage.getItem('userData');
setUserData(JSON.parse(userInfo));
} catch (error) {
console.error('Error retrieving data:', error);
}
};
getUserData();
}, []);