Javascript 尝试使用异步函数时,对象作为子对象无效
我正在尝试在我的应用程序中添加翻译系统。我的示例代码:Javascript 尝试使用异步函数时,对象作为子对象无效,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在尝试在我的应用程序中添加翻译系统。我的示例代码: async translate(txt){ var res = await translate(txt, { //some props }) return res[0] //it was returned as an object, so taking the first element } render(){ return ( <View> <Text>{this.translate
async translate(txt){
var res = await translate(txt, {
//some props
})
return res[0] //it was returned as an object, so taking the first element
}
render(){
return (
<View>
<Text>{this.translate('Hello')}</Text>
</View>
)
}
异步翻译(txt){
var res=等待翻译(txt{
//一些道具
})
return res[0]//它是作为对象返回的,因此使用第一个元素
}
render(){
返回(
{this.translate('Hello')}
)
}
我知道,async返回一个承诺,但我想不出在我的案例中使用它的方法
我已经检查了其他问题,但这些问题不起作用:(在显示
translate
的输出之前,您需要等待承诺得到解决,以便在translate
完成后使用状态存储输出
constructor() {
super();
this.state = {};
}
componentDidMount() {
this.translate("Hello").then((output) => this.setState({ text: output }));
}
render() {
return (
<View>
<Text>{this.state.text ? this.state.text : "Loading"}</Text>
</View>
);
}
constructor(){
超级();
this.state={};
}
componentDidMount(){
this.translate(“Hello”).then((output)=>this.setState({text:output}));
}
render(){
返回(
{this.state.text?this.state.text:“正在加载”}
);
}
{()=>this.translate('Hello')}@Arthur它什么也不显示,正如我所说,它是显示自动翻译。在这里使用一个巨大的状态是没有意义的