我在這個過程中我傳遞的webapp做出反應的陣營原生版本。componentWillReceiveProps在陣營本土VS ReactJS
在本地做出反應,我有這樣的登錄頁面。我正在使用react-navigation。
componentWillReceiveProps(nextProps) {
const { requestStatus, currentUser } = nextProps
const getUserInProgress = get(requestStatus, GET_MY_DETAILS, true)
if (!getUserInProgress) {
if (currentUser) {
currentUser.verified_mobile ? this.props.navigation.navigate('Dashboard') : this.props.navigation.navigate('VerifyMobile')
} else if (!currentUser) {
console.log('not logged in')
}
}
}
因此,在登錄頁面上,它會獲取用戶詳細信息並檢查移動設備是否已通過驗證,如果沒有,則會驗證移動頁面。
在驗證移動頁面,當調用時,在登錄頁面此componentWillReceiveProps仍然運行,即使它不是當前的活動頁面。
我在ReactJS相同的邏輯/代碼和它的行爲完全不同。
React Native是否正常?
編輯:
讓我澄清我的問題是什麼。
當我不是在登錄頁上,我是驗證移動頁面上。 componentWillReceiveProps仍在運行,儘管該頁面在歷史記錄中。這在我構建reactjs應用程序時沒有發生。它只發生在原生應用程序中。所以我想知道這是否是歷史堆棧中頁面的正常行爲來運行其componentWillReceiveProps?
可否請您詳細說明您經歷了什麼行爲以及錯誤的具體情況? –
是的,它仍然在堆棧中,所以它仍然存在。它只是沒有顯示。 – WilomGfx