實施例,如果應用程序狀態是對於React/Redux,如果用戶只需點擊鼠標就能看到使用React Router的不同組件/容器,那麼應用狀態如何改變?
const rootReducer = combineReducers({
allPosts: PostsReducer,
post: PostReducer
});
當用戶點擊在所有帖子(索引)的列表中的一個後,看一個柱(用PostsShow容器),然後在用戶點擊「返回索引」,然後點擊不同的帖子,現在想象一下,如果網絡速度太慢或卡住,用戶會真正看到上一篇文章,因爲state.post
從未改變過,在AJAX可以獲取數據之前。
實際上,所有用戶的操作都是由<Link to="..." />
通過react-router
完成的。當用戶點擊單個帖子頁面中的「返回索引」(使用單個帖子容器)時,是否有將state.post
設置回null
的方法,或者是否有任何其他方法可以實現不顯示上一篇文章?
你試過componentWillUnmount? –
它是在'componentWillUnmount()'裏面調用一個動作創建器嗎?所以我們需要一個新的動作,比如'CLEAR_POST'?所以,我們甚至可以這樣想:每當我們需要改變應用程序狀態時,想一想由動作創建者創建的動作,以及想到動作創建者可以被調用的位置。 –