Saya tahu saya tidak seharusnya mengubah input dan harus mengkloning objek untuk mengubahnya. Saya mengikuti konvensi yang digunakan pada proyek pemula redux yang digunakan:
ADD_ITEM: (state, action) => ({
...state,
items: [...state.items, action.payload.value],
lastUpdated: action.payload.date
})
untuk menambahkan item - Saya menggunakan spread untuk menambahkan item dalam array.
untuk menghapus saya menggunakan:
DELETE_ITEM: (state, action) => ({
...state,
items: [...state.items.splice(0, action.payload), ...state.items.splice(1)],
lastUpdated: Date.now()
})
tetapi ini mengubah objek status input - apakah ini dilarang meskipun saya mengembalikan objek baru?
items: [...state.items.slice(0, action.payload.value), ...state.items.slice(action.payload.value + 1 )]
gunakan slice sekarang sebagai ganti splice agar tidak mengubah input - apakah ini cara yang tepat atau ada cara yang lebih ringkas?