这是保存吗?因为setState是异步的,所以this.props.history推送会忽略setState吗?
if (id) {
this.props.history.push(`/edit/${data.id}`)
this.setState({
showMsg: 'saved'
})
}
还是我应该这样做?
if (id) {
this.setState({
showMsg: 'saved'
}, ()=>this.props.history.push(`/edit/${data.id}`))
}
答案 0 :(得分:2)
setState
方法的第二个参数是一个回调,它将不接受它作为参数。
更改此
if (id) {
this.setState({
showMsg: 'saved'
}, this.props.history.push(`/edit/${data.id}`))
}
对此
if (id) {
this.setState({
showMsg: 'saved'
},()=> this.props.history.push(`/edit/${data.id}`))
}
这是保存吗?
是的,当您设置状态并设置一次时;你通过回调。设置状态后,它将推送到历史记录。