Things to check when your having a bad day
Are you getting the correct slice?
When using the useSelector
hook, make sure you are selecting the correct slice of the
state object. This is the second part of the selector function and should match the name
of the slice you defined in the configureStore
when setting up the Redux store. For
example, if you have a slice named products
, the selector should look like this:
// store.js
export const store = configureStore({
reducer: {
products: productsReducer,
},
});
const { data, error, isLoading } = useSelector(state => state.products);
Are you working with the correct state object?
When using useSelector
, make sure you are selecting the intended state object.
If working with multiple slices, you can select the entire state object or a
specific slice:
Here are some different ways to use useSelector
:
const state = useSelector(state => state)
Selecting a specific feature
slice of your state:
const featureState = useSelector(state => state.feature)
Destructuring properties data
, error
, and isLoading
from the feature slice.
const { data, error, isLoading } = useSelector(state => state.feature);
configureStore
function?
Have you included the slice in the export const store = configureStore({
reducer: {
feature: featureReducer,
},
});