Estoy tratando de modificar mi matriz cada vez con nuevos valores, pero no puedo lograr esa funcionalidad.
Entonces, el código para empujar elementos de matriz se da así:
const updateYears = (state, action) => { state.dropDownData.years = [...new Set([action.payload])]; }Y mi estado inicial es así:
const initialState = { dropDownData: { programs: [], years: [], }, };La función reductora anterior está empujando elementos dentro de la matriz de "años".
locationSummaries.map((locationSummary)=>dispatch(updateYears(locationSummary.year)));locationSummaries es la matriz de objetos que contiene el año como una de las propiedades.
Entonces, cuando mi matriz de año contiene los valores [2017, 2018, 2019] y cuando presiono [2018, 2019] dentro de esto, todavía tengo [2017, 2018, 2019] dentro de la matriz de año original. En cambio, lo que quiero es una matriz de años modificada a [2018, 2019] . Creo que está sucediendo porque los mismos valores se introducen dentro de la matriz.
Entonces, ¿cómo debo modificar mi función reductora para lograr esta modificación?
Si action.payload es una matriz y desea modificar la matriz por completo, ¿por qué no asigna una nueva matriz como esta?
const updateYears = (state, action) => { state.dropDownData.years = action.payload; }