从异步函数React Native Redux返回数据



在Expo for react native中使用SecureStore获取数据后,我在访问数据时遇到问题。

这是一个简单的代码:

const infoofuser = SecureStore.getItemAsync('userInfo').then(value =>
console.log(`this is the vlaue from infouser: ${value}`),
);
console.log(`infoouser: ${JSON.stringify(infoofuser)}`);

第一个CCD_ 2常量定义返回预期数据的对象。

console.log(`infoouser: ${JSON.stringify(infoofuser)}`);

然而返回CCD_ 3,您理解这是一个承诺。我只想简单地获取来自SecureStore调用的数据,并使用它在redux中设置initialState。

const infoofuser = SecureStore.getItemAsync('userInfo').then(value =>
value
);

这对访问数据也不起作用

您可以使用async/await使用异步方法。试试这个:

const userInfo = useSelector(state => state.userInfo);
const getData = async () => {
try {
const infoofuser = await SecureStore.getItemAsync('userInfo');
console.log('infoofuser:', infoofuser)
/// strore on redux
} catch (err) {
// handle error
}
}
useEffect(() => {
getData()
}, [])
if (!userInfo) return null
//render something else

您可以查看Expo Secure Store文档以供参考。