2017-09-22 12 views
1

私はReactNative + React Reduxを使用しています。結果が配列に入れ子になっています

マイリデューサー:

​​

私が受け取るデータは次のとおりです。

[ 
{id:1, name: 'name01', someId: 11}, 
{id:2, name: 'name02', someId: 22}, 
{id:3, name: 'name03', someId: 33} 
] 

私が行う場合:

case "FETCHING_SUCCESS": 
     return { 
     ...state, 
     isAdding: false, 
     categories: action.data  // <= Notice This 
     } 

私はデータの罰金を取得 - はconsole.logを(」 CATEGORIES: "、this.props.caregories); :

enter image description here

しかし、私は既存のデータに受信したデータを付加したいです。私がやるのであれば:

enter image description here

とプライマリ1に入れ子にさらにAPI呼び出し、複数のアレイ上:

categories: [...state.categories, action.data]

私は配列への配列を取得します。

どうすれば解決できますか?私はプライマリ配列を入れたいだけで、プライマリ配列にネストされた配列は必要ない。私はmapとすることができ、プライマリアレイからのデータを表示します。私はデータを追加する必要があるかどうか分からない。

多くのありがとうございます。

答えて

1

あなたがやるべきことはcategories: [...state.categories, ...action.data]だと思います。

1

あなたcoddeは次のようになります。

case "FETCHING_SUCCESS": 
     let newCategories = [...state.categories, ...action.data]; 
     return { 
     ...state, 
     isAdding: false, 
     categories: newCategories 
     } 

チェックこのスニペットアウト:)

var state = { 
 
    categories: [1,2,3,4], 
 
    isAdding: true, 
 
    done: false 
 
}; 
 
    let data = [5,6,7,8]; 
 
    let newcategories = [...state.categories, ...data]; 
 
    state = { 
 
     ...state, 
 
     isAdding: false, 
 
     categories: newcategories // <= Notice This 
 
    } 
 
console.log(state)

関連する問題