मैं Redux में एक नया राज्य जोड़ने के लिए इस फ़ंक्शन को बनाने का प्रयास कर रहा हूं।

  const initialFriend = {
    current: [],
    possible: ['a', 'b', 'c'],
  };

  const friendReducer = (state = initialFriend, action) => {
  switch (action.type) {
    case ADD_FRIEND:
      const { current, possible } = state;

      const newArrayPossible = possible.slice();
      const newArrayCurrent = current.slice();

      const addedFriend = newArrayPossible.splice(action.payload, 1);

      newArrayCurrent.push(addedFriend);

      const newState = { newArrayCurrent, newArrayPossible };

      return newState;
    default:
      return state;
  }
};

लेकिन समस्या यह है कि जब मैं ADD_FRIEND क्रियाओं को ट्रिगर करता हूं तो मुझे नया राज्य नहीं मिल सकता है। कोई मुझे मदद कर सकता है?

1
David Winalda 1 पद 2020, 12:45

1 उत्तर

सबसे बढ़िया उत्तर

आप अपनी राज्य कुंजियों को बदल रहे हैं। आपके नए/अगले राज्य को उपयोग की जाने वाली कुंजियों को बनाए रखना चाहिए ताकि आपका UI जानता हो कि क्या एक्सेस करना है। साथ ही, आप आम तौर पर अपनी संपूर्ण राज्य वस्तु की उथली प्रतिलिपि बनाने की आदत में रहना चाहते हैं, इसलिए किसी भी राज्य को नहीं अपडेट किया जा रहा है (यानी अनजाने में हटाया नहीं गया)।

const newState = {
  ...state,
  current: newArrayCurrent,
  possible: newArrayPossible,
};
0
Drew Reese 1 पद 2020, 09:58