मेरे पास एक प्रारंभिक स्थिति है जिसमें कुंजी संख्या के साथ शब्दावली वस्तु है और प्रत्येक कुंजी में ऑब्जेक्ट की सरणी है, रिएक्ट रेडक्स में हम प्रसार का उपयोग करते हैं और रेड्यूसर में हमारे राज्य को अपडेट करते हैं, लेकिन रेडक्स टूलकिट में, मैं अटक गया, मैं एक ऑब्जेक्ट जोड़ना चाहता हूं प्रत्येक कुंजी की सरणी

const initialState: IWordListState = {
  vocabulary: {
    7:[
      {}
    ]
  },
};
export const wordSlice = createSlice({
  name: 'words',
  initialState,
  reducers: {
    addWord: (
      state,
      action: PayloadAction<{ step: number; newWord: WordState }>,
    ) => {
      console.log(current(state));
      const { step, newWord } = action.payload;
      state.vocabulary[step] = [{ ...newWord }];
    },
  },
});

मैं addWord फ़ंक्शन को कॉल करने में एक और ऑब्जेक्ट जोड़ना चाहता हूं, मुझे इस तरह शब्दावली ऑब्जेक्ट की कुंजी के रूप में एक चरण संख्या मिलती है:

  vocabulary: {
    7:[
         {
        id:211,
        ....
       },
       {
        id:212,
        ....
       }
    ],
    6:[
      {
        id:213,
        ....

     ]

  },
0
tmohammad78 5 सितंबर 2021, 08:29

2 जवाब

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

आप इस तरह अपडेट कर सकते हैं:

state.vocabulary[step] = state.vocabulary[step] ? [...state.vocabulary[step], newWord] : [newWord]
0
Viet 5 सितंबर 2021, 07:37

जांचें कि क्या यह काम करता है:

addWord: (
  state,
  action: PayloadAction<{ step: number; newWord: WordState }>,
) => {
  console.log(current(state));
  const { step, newWord } = action.payload;
  state.vocabulary[step].push(newWord);
},
0
Erfan Naghashlou 5 सितंबर 2021, 06:30