Javascript 为什么在正确设置状态时不声明状态?
我从服务器获取数据并将其设置为状态。为什么不保存状态Javascript 为什么在正确设置状态时不声明状态?,javascript,reactjs,Javascript,Reactjs,我从服务器获取数据并将其设置为状态。为什么不保存状态 async componentDidMount() { const claimNumber = 'T1339838' const { runtime } = this.context const data = await runtime.select('comments-get', { claimNumber : claimNumber}) // THIS commentsData ARE empty
async componentDidMount() {
const claimNumber = 'T1339838'
const { runtime } = this.context
const data = await runtime.select('comments-get', { claimNumber : claimNumber})
// THIS commentsData ARE empty
this.setState = ({ commentsData: data, })
console.log("COMENTS DATA: ", this.state.commentsData)
}
您设置的状态不正确。另外,setState是异步的,所以您可能希望将该控制台日志语句放在setState回调中
this.setState({ commentsData: data }, () => {
console.log("COMENTS DATA: ", this.state.commentsData)
})
打字错误:您在函数名和围绕其参数的括号之间加了一个=,因此您重写了函数而不是调用它。它也是异步的,因此您需要使用回调来读取更新的数据。this.setState{commentsData:data,},=>console.logCOMENTS data:,this.state.commentsData;缺少分号?@Frost-不,ASI规则没有问题。@Quentin yeas谢谢!