0
値が配列であっても、私のレデューサーが自分のネストされたデータをオーバーライドし続けるのはなぜですか?基本的に私がここにビルドしているのは、ページネーションのようなものです。これまでのところ、ここに私のコードがあります:ページネーション・レデューサーにデータを追加する - reactjs
const INITIAL_STATE = {
data: [],
page: 1
};
export default (state = INITIAL_STATE, action) => {
switch(action.type) {
case GET_NEWS_SUCCESS: {
return {
data : {
[action.payload.category]: [ action.payload.data ]
},
page: action.payload.page };
}
}
return state;
}
下の画像は、基本的には、次の状態のためechelon array
に0
キーがまだ存在すべきであり、データの別のセットを追加します、私の減速の戻りデータです。しかし、2番目の赤い矩形で見ることができるように、前の0
のキーを上書きします。
私はすでにこれを試しましたが、「未定義またはnullをオブジェクトに変換できません」というエラーが表示されます。おそらく、この '... state.data [action.payload.category]'の 'action.payload.category'がまだ存在しないので –
です。更新する前にそれが定義されているかどうかを確認しなければなりません。空の配列。更新された回答をご覧ください。可能なすべてのカテゴリ名をすでに知っている場合は、各更新時にチェックするのではなく、空のカテゴリ配列で状態を初期化することができます。 –
私はこれを試してみます、カテゴリーはapiからフェッチされているので知られていません。 –