我有一个函数renderMe(),等待另一个函数async fetchingTransactions()返回,该函数又将返回到主渲染函数。不幸的是,异步fetchintransactions返回一个数组,但renderMe()无法利用它返回。
我想做的是,因为它的异步fetchingtransactions是一个异步函数,所以我尝试使用await fetchingtransactions和.then来获取数组,但是主要的render函数说我正在返回一个不能被渲染。
async fetchingTransactions(){
return '10'
}
renderMe(){
this.fetchingtransactions().then((val) => {
return(
<View>
<Text>Number is {val}</Text>
</View>
)
})
}
render(){
return(
<View>
{this.renderMe()}
</View>
)
}
我希望结果是一个带有文本的视图:“数字为10”。这只是一个示例,我将在async函数中使用真正的await fetch函数,但以下代码是其基础。
答案 0 :(得分:0)
renderMe()
没有return语句,因此它返回undefined
this.renderMe()
会给您一个承诺,而不是<View>
元素从组件的状态渲染组件中的数据。
render(){
if (this.state.val !== undefined) {
return(
<View>
<View>
<Text>Number is {this.state.val}</Text>
</View>
</View>
);
} else {
return something else;
}
}
呼叫fetchingtransactions
和then
更新状态。