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

216
Visualizações
Comparte acciones entre sectores con Redux Toolkit

¿Cómo puedo compartir acciones comunes en segmentos de estado redux?

Digamos que quiero compartir updateField definido a continuación en varios segmentos que no sean profile . ¿Debo importarlo desde un archivo externo?

Podría usar extraReducers de @redux/toolkit pero luego debería crear un nuevo segmento que contenga mi acción updateField y esa acción no tiene un estado propio. Simplemente usa el estado del segmento en el que se importa.

 import { createSlice } from '@reduxjs/toolkit'; export const INITIAL_STATE = { title: { value: '' } } const slice = createSlice({ name: 'profile', initialState: INITIAL_STATE, reducers: { updateField: (state, { payload: { name, value } }) => ({ ...state, [name]: { ...state.data[name], value, }, }), }, }) export const { updateField, } = slice.actions

Gracias

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

0

Puede usar la propiedad extraReducers en createSlice para escuchar acciones personalizadas.

 // actions export const incrementBy = createAction<number>('incrementBy') // reducers const counter1 = createSlice({ name: 'counter', initialState: 0, reducers: { decrement: (state) => state - 1, }, // "builder callback API" extraReducers: (builder) => { builder.addCase(incrementBy, (state, action) => { return state + action.payload }) }, }) const counter2 = createSlice({ name: 'counter', initialState: 0, reducers: { decrementByTwo: (state) => state - 2, }, // "builder callback API" extraReducers: (builder) => { builder.addCase(incrementBy, (state, action) => { return state + action.payload }) }, })
about 4 years ago · Juan Pablo Isaza Relatório

0

Si desea implementar una sola función reductora, ciertamente puede definirla una vez y exportar/importar en los segmentos que lo necesiten.

Ejemplo:

 export const updateField = (state, { payload: { name, value } }) => ({ ...state, [name]: { ...state.data[name], value, }, })

Rebanada de perfil

 import { createSlice } from '@reduxjs/toolkit'; import { updateField } from '../path/to/updateField'; // <-- import export const INITIAL_STATE = { title: { value: '' } } const slice = createSlice({ name: 'profile', initialState: INITIAL_STATE, reducers: { updateField, // <-- pass to reducers object }, });

Sector de usuario

 import { createSlice } from '@reduxjs/toolkit'; import { updateField } from '../path/to/updateField'; // <-- import export const INITIAL_STATE = { title: { value: '' } } const slice = createSlice({ name: 'user', initialState: INITIAL_STATE, reducers: { updateField, // <-- pass to reducers object }, });
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