私は数週間この問題に直面しています。
私は前にanother questionと尋ねました。この問題は汚れた状態と関係していることがわかりました。ReactとReduxで汚れた状態をクリーンアップする方法はありますか?
基本的には、記事のリストを含むページを作成しましたが、そのうちの1つをクリックすると記事が表示されます。私は記事と記事の両方でcomponentDidMountでAJAX GETリクエストを作成しています(このコードはhereにあります)。
私はここで尋ねることなく解決策を見つけようとしましたが、できませんでした。私はArticlePageでcomponentWillUnmountメソッドを追加して前のページから自分の汚れた状態をクリーンアップする必要があると思います。
これは、リストと各記事の記事を取得する私のアクションです。どのように私はクリーンアップダーティ状態
export default function(state=[], action){
switch (action.type) {
case FETCH_ARTICLES:
return action.payload;
case FETCH_ARTICLE:
return action.payload;
default:
return state;
}
}
:
export function fetchArticles(){
return (dispatch) => {
axios.get('/api/articles').then(({data}) => {
dispatch({
type: FETCH_ARTICLES,
payload: data
})
})
}
}
export function fetchArticle(id){
return (dispatch) => {
axios.get(`/api/articles/${id}`).then(({data}) => {
dispatch({
type: FETCH_ARTICLE,
payload: data
})
})
}
}
は、これが私の減速のですか?
export default function(state=[], action){
switch (action.type) {
case FETCH_ARTICLES:
return action.payload;
case FETCH_ARTICLE:
return action.payload;
case RESET_ARTICLE:
return []; // return an empty state here.
default:
return state;
}
}
とcomponentWillUnmount
トリガーRESET_ARTICLE
アクションであなたのコンポーネントで:
したがって、 'RESET_ARTICLE'アクションを追加しますか?あなたを止めるのは何ですか? – azium
@azium動作しませんでした。 – Dan