Search code examples
reduxredux-thunkredux-toolkit

Cannot read property 'ids' of undefined when use reduxjs/toolkit


I am trying to pass values from API to state but always give this error.

TypeError: Cannot read property 'ids' of undefined selectIds

I am using the 'reduxjs/toolkit' I try everything but still continue that error could you please help me

this is a code from the Slic file

export const getListNamesDictionary = createAsyncThunk('dictionary/names/getNames', async () => {
 try {
     const response = await axios.get('http://localhost:6005/api/lookup/list-name');
     const data = await response.data;
     // dispatch(getNames(data));
     debugger;
     console.log(data);
     return data;
 } catch (error) {
     return console.error(error.message);
 }
});
const namesAdapter = createEntityAdapter({});

and the Slic :

const namesDictionarySlice = createSlice({
   name: 'names',
   initialState: {
       names: []
   },
   reducers: {
       
   },
   extractors: {
       [getListNamesDictionary.fulfilled]: (state, action) => {
           state.entities.push(action.payload);
       }
   }
});
export const { selectAll: selectNamesDictionary } = namesAdapter.getSelectors(state => state.data);

and this code from component where I need to dispatch the action

const names = useSelector(selectNamesDictionary);
useEffect(() => {
        // dispatch(getListNamesDictionary()).then(() => setLoading(false));
        dispatch(getListNamesDictionary()).then(() => setLoading(false));
    }, [dispatch]);

any suggesting why that error? and thanks


Solution

  • in Slic function, I make a mistake in writing, I most write 'extraReducer' but I wrote "extractors" :D