2017-08-30 1 views
1
foodList : { 
    'fruits' : ['apple', 'banana'], 
    'hamburgers: ['bigmac', 'crispy'] 
} 

上記のデータ構造の場合、kiwiをReduxのフルーツに追加するにはどうすればよいですか?新しい値をStoreオブジェクトにプッシュするにはどうすればいいですか?

case "FRUIT_ADD_SUCCESS" : 

    action.payload = 'kiwi'; 
    return { 
     ...state, 

     // Cannot read property 'push' of undefined 
     foodList: state.foodList['fruits'].push(action.payload) 

     // Disappear previous values 
     foodList: state.foodList['fruits'] = action.payload 
    } 

Storeオブジェクトに新しい値をプッシュするにはどうすればよいですか?

答えて

4

これは動作するはずです:

case 'FRUIT_ADD_SUCCESS': 
    action.payload = 'kiwi'; 

    const newFoodList = { 
    ...state.foodList, 
    fruits: [...state.foodList.fruits, action.payload], 
    }; 

    return { 
    ...state, 
    newFoodList, 
    }; 
関連する問題