私は最初のreact-reduxアプリケーションをビルドしています。配列の突然変異チェック
iはテストしていアクション項目を選択している: 更新「を選択」ブーリアンプロパティは、アクション
によって渡さ選択によれば、オブジェクトを含む配列である:今
"allItems":[
{
"id": 1,
"name": "item1",
"selected": false
},
{
"id": 2,
"name": "item2",
"selected": false
},
{
"id": 3,
"name": "item3",
"selected": false
},
{
"id": 4,
"name": "item4",
"selected": false
}
]
リデューサ:
const allItems = (state=[], action) => {
switch(action.type){
case "SELECT_ITEM" :
return state.map((item, index) => {
if(item.id === action.payload.id){
return { ...item, selected: true}
}
else
{
return {...item, selected: false}
}
})
default:
return state
}
}
はあなたに感謝
これは 'allItems'スライスのスライス減速器ですか? – bitstrider
はい、最初の行で 'const allItems =(state = []、action)=> {'私は今質問を編集しますと仮定します – Roimil
それはうまくいかないことを記述することができます。例えば、あなたの行動は減量者によって処理された後、あなたが期待した通りに州をどのようにしていませんか? 'ケース "select_itemに": リターンstate.map((アイテム、インデックス)=> { 場合(item.id === action.payload – bitstrider