反应路由器和setState冲突
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应路由器和setState冲突相关的知识,希望对你有一定的参考价值。
这节省吗?将this.props.history push忽略setState,因为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}`))
}
答案
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}`))
}
这节省吗?
设置状态和设置状态时是;你通过回调。在国家确定后,它将推向历史。
以上是关于反应路由器和setState冲突的主要内容,如果未能解决你的问题,请参考以下文章