0
我使用終極版在我的簡單反應項目,我設置這應該火的情況下,用戶沒有登錄重定向保護路徑之前未設置。驗證狀態的道具頁面渲染
我初始狀態看起來是這樣的:
const INITIAL_STATE = {
email: '',
password: '',
error: '',
loading: false,
loggedIn: false
};
在我的組件渲染功能如下:
if (!loggedIn) {
return (<Spinner />);
}
if (loggedIn === false) {
return (
<Redirect to={{
pathname: '/login',
state: { from: this.props.location }
}} />
)
}
return (
<Route {...this.props} />
)
現在,當用戶登錄時,一切正常,顯示微調框直到內容被加載。
問題出現在用戶未登錄時,然後顯示微調器並且沒有其他事情發生,重定向基本上不會被調用。我可以在控制檯中看到狀態僅在運行組件時設置,並且稍後未更新,因爲我沒有調用任何函數。我想知道是否應該在componentWillMount()部分中設置一個額外的函數,或者類似的東西?或者我只是亂搞未定義和錯誤?
感謝 -
假設
loading
工作得很好,你可以試試這個。其實我現在沒有使用加載,因爲我沒有獲取任何數據。我想知道是否有一種方法來阻止渲染,直到所有的道具完成加載?在這種情況下,我可以在te道具加載時顯示微調器。 – gianni