基本上,在我的应用中,人们必须在挑战成功时进行验证。 当他们点击验证按钮时,我使用函数
保存挑战的“密钥”:“值”async function validate(challenge_nb)
{
try {
await AsyncStorage.setItem(challenge_nb, 'OK');
} catch (error) {
console.log("error")
}
}
工作正常。
现在,我想收回这些数据并将其显示在列表中......而且我不知道如何做到这一点。
我试图使用这种函数来获取我保存的所有键/值:
async function getalldatas()
{
AsyncStorage.getAllKeys((err, keys) => {
AsyncStorage.multiGet(keys, (err, stores) => {
stores.map((result, i, store) => {
// get at each store's key/value so you can work with it
let key = store[i][0];
let value = store[i][1];
console.log(value);
});
});
}); }
但是我不知道如何在我的render()函数中显示它...而且因为它是异步的
实际上,我想做一种:
渲染( 对于每个键/值: 核心价值 end_foreach )
非常感谢!!
答案 0 :(得分:0)
您可以将其存储到状态值,然后进行条件渲染,p.s。永远不要在你的渲染中放置这样的东西,把它作为你的组件的方法:
getAllDatas = () => {
AsyncStorage.getAllKeys((err, keys) => {
AsyncStorage.multiGet(keys, (err, stores) => {
this.setState({ stores });
});
});
}
render() {
return (
<View>
{this.state.stores.length && this.state.stores.map(item =>
<Text>{`${item[0]}: ${item[1}`}</Text>)}
</View>
)
}