[英]ReactJS this.props.history.push doesn't exists! this.props doesn't include history
[英]In reactjs this.props.history.push('/') redirect doesn't work when set in a setTimeout delay
我有一個通行證,可以將用戶重定向到首頁,因此我一直在使用它
this.props.history.push('/')
效果很好,但現在我們要延遲此操作,因此我將整個內容包裝在setTimeout函數中
setTimeout(function () {
this.props.history.push('/')
}, 1500);
但這會中斷並給我錯誤“ TypeError:無法讀取未定義的屬性” history”
我嘗試將props值添加到const,然后在const值上設置超時,但是仍然沒有任何樂趣,我看不到任何原因為何不起作用,所以我碰到了磚牆,有人可以掉下嗎給我一些啟示嗎?
它的背景下this
是傳給你的麻煩。
試試像下面綁定this
到您的內部函數
setTimeout(() => {
this.props.history.push('/')
}, 1500);
上面的答案有效,但是如果由於某些原因箭頭功能對您不起作用,則可以執行以下操作
創建一個方法
gotoHome(){
this.props.history.push('/')
}
將方法綁定到context: this
如果您的組件具有構造函數,則最好在其中進行綁定
this.gotoHome = this.gotoHome.bind(this)
將方法傳遞給setTimeout
setTimeout(this.gotoHome, 1500)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.