Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

212
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!