【发布时间】:2021-08-14 19:38:33
【问题描述】:
我尝试从异步存储函数中获取数据
_retrieveData = async () => {
var test = await AsyncStorage.getItem('myitem')
return test
}
_generateRandomCards() {
console.log(this._retrieveData())
}
但是那个回报:
Promise {
"_U": 0,
"_V": 0,
"_W": null,
"_X": null,
}
编辑:在 Václav Ryska 的回答之后,我可以使用 setstate 更改它,但是如果我从 componentDidMount 调用 getValue 并在我的 generaterandomcards 函数中无限循环,则重新加载一次。
我的代码:
componentDidMount() {
this.getValue()
}
getValue = async () => {
AsyncStorage.getItem('key')
.then(data => {
this.setState({deckDrawToday: true});
})
}
_generateRandomCards() {
console.log(this.state.deckDrawToday)
...
this._generateRandomCardsTrue()
...
return (
this._generateViewCards()
)
}
_generateRandomCardsTrue() {
...
}
_generateViewCards() {
...
}
render() {
return (
this._generateRandomCards()
)
}
【问题讨论】: