這是我的減速機。我想根據ID在Reducer中更新我的數據而不會重複。如何在反應中更新減速機狀態的數據
任何人都可以請幫助我。
這是我的代碼:
export const dataReducer = (state= InitialState , action = null) => {
switch(action.type) {
case types.UPDATE_DATA:
return Object.assign({}, state, {
data: [
...(state.data.filter(item => (item.id !== action.payload.id))),
action.payload
]
default:
return state;
}
}
我想刪除ID:2,並希望將新數據添加到狀態。
var state = {
data: [
{id: 1, data: "Hello"}, {id: 2, data: "World"}
]
}
var payload= {id:2, data: "SO"}
var data1 = state.data.map(function(item){return (item.id == payload.id)? payload: item})
var data = {...state,
data: data1
}
console.log(data);
它應該被更新,
var state = {
data: [
{id: 1, data: "Hello"}, {id: 3, data: "Value"}
]
}
什麼是現在hapening,你希望 –
做什麼,我有一些數據,我減速的狀態,我要覆蓋的ID的數據。 –
你可以發佈數據的樣子嗎?或者它的內部如何排列ID? – Shota