मुझे पता है कि मैं इनपुट को म्यूट करने वाला नहीं हूं और इसे म्यूट करने के लिए ऑब्जेक्ट को क्लोन करना चाहिए। मैं एक redux स्टार्टर परियोजना में इस्तेमाल किए गए सम्मेलन का पालन कर रहा था जो इस्तेमाल किया गया था:
ADD_ITEM: (state, action) => ({
...state,
items: [...state.items, action.payload.value],
lastUpdated: action.payload.date
})
एक आइटम जोड़ने के लिए - मुझे सरणी में आइटम को जोड़ने के लिए प्रसार का उपयोग मिलता है।
हटाने के लिए मैंने इस्तेमाल किया:
DELETE_ITEM: (state, action) => ({
...state,
items: [...state.items.splice(0, action.payload), ...state.items.splice(1)],
lastUpdated: Date.now()
})
लेकिन यह इनपुट स्टेट ऑब्जेक्ट को म्यूट कर रहा है - क्या यह मना है भले ही मैं एक नई वस्तु वापस कर रहा हूं?
items: [...state.items.slice(0, action.payload.value), ...state.items.slice(action.payload.value + 1 )]
स्लाइस के बजाय अब स्लाइस का उपयोग करें ताकि इनपुट को म्यूट न करें - क्या यह जाने का तरीका है या अधिक संक्षिप्त तरीका है?