[英]React.js vs Javascript variable declaration
我在这里有一个使用 React.js 的代码,此代码在控制台中返回 undefined ..
getTicket = async() =>{
var ticketData;
this.state.client.get('ticket').then(
await function(data){
ticketData = data['ticket'].toString();
console.log(data['ticket'])
}
)
await this.setState({ ticketInformation: ticketData })
}
而这个是 javascript,此代码返回 ticketData 的值..
var ticketData;
client.get('ticket').then(
function(data) {
ticketData = data['ticket'];
console.log("TICKET:: " + JSON.stringify(ticketData.id));
}
);
我的问题是,两者有什么区别? 如您所见,在第一个代码上,我使用的是 async/await,据我所知,它不应该返回 undefined。不知何故,第二个代码没有 async/await,但完全为全局变量赋值。
我猜那是因为当你第一次调用 getTicket function 时,this.state.client 是未定义的。 您应该首先给它一个默认值,但据我所知,将 function 设置为“状态”并不好。 You should make the convert value function as a call back outside, not in "state" cuz React re-make the function again whenever the state value change and it wastes memory.
尝试如下,我希望你有一个目标。
await this.state.client.get('ticket').then(
function(data){
ticketData = data['ticket'].toString();
console.log(data['ticket'])
}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.