基本上,在我的应用程序上,人们必须在挑战中取得成功时进行验证。 当他们单击验证按钮时,我使用函数保存挑战的"键":"值":
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 )
多谢!!
你可以把它存储到一个状态值,然后有一个条件渲染,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>
)
}