React Native - 显示来自异步 AsyncStorage.getItems 的数据



基本上,在我的应用程序上,人们必须在挑战中取得成功时进行验证。 当他们单击验证按钮时,我使用函数保存挑战的"键":"值":

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>
)
}

最新更新