我正在尝试使用asyncstorage设置初始状态。有办法吗?
const _retrieveUser = async () => {
return await AsyncStorage.getItem('authUser');
}
const [user, setUser] = useState(_retrieveUser().then(user => user) || null);
答案 0 :(得分:1)
初始值必须是同步可用的值。然后,您可以在效果上完成异步工作。如有必要,您可以在进行此工作时渲染占位符
B
答案 1 :(得分:0)
您可以在 useState 方法中传递一个函数来以另一种简单的方式管理初始状态:
const [user, setUser] = useState(async () => {
const data = await AsyncStorage.getItem('authUser') //get data and store them in constat
setUser(data || null) //here the state set self
}
);