Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
Why do I have to access my Redux state like "state.topicsReducer.topics"?

I've successfully created a redux store using createSlice from @reduxjs/toolkit as follows:

const initialState = {
    topics: {
        '123': {
            id: '123',
            name: 'example topic',
            icon: 'icon url',
            quizIds: ['456']
          }
    }
}

const options = {
    name: 'topics',
    initialState: initialState,
    reducers: {
        addTopic: (state, action) => {
            return {
                ...state,
                topics: {
                    ...state.topics,
                    [action.payload.id]: action.payload
                }
            }
        }
    }
}

When creating a selector I found that I have to do the following:

export const selectTopics = state => state.topicsReducer.topics;

Why do I need the "topicsReducer"? In my course I've always seen state accessed like 'state.topics'. Did I mess something up in my options variable?

Thank you!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Make sure you pass the reducers object to combineReducers(reducers) or configureStore like this:

combineReducers({ topics: topicsReducer });

// or

configureStore({ reducer: { topics: topicsReducer } })

The state shape will be { topics }. Then you can create selector like:

export const selectTopics = state => state.topics;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda