Quiero agregar datos únicos en la matriz de mi tienda, pero parece que se atasca al agregar los datos y los datos duplicados se insertan en la matriz. Estoy usando mecanografiado.
Así que mi función de división se ve así.
const initialState = { dropDownData:{ programs: [], years: [] } } const slice = createSlice({ name:"filterSlice", initialState: initialState, reducers:{ updateProgram:(state, action) => { state.dropDownData.programs = [...state.dropDownData.programs, action.payload]; } } }); Llamo a esta función reductora de esta manera: dispatch(updateProgram(program))
Entonces, el programa que obtengo está en forma de matriz. Pero no necesito datos duplicados de la matriz del programa.
Entonces, ¿cómo actualizar mi función reductora?
En lugar de esto:
state.dropDownData.programs = [...state.dropDownData.programs, action.payload];
Utilizar este:
state.dropDownData.programs = [...(new Set([...state.dropDownData.programs, action.payload]))];
Acercarse:
Set de javascript permite retener solo elementos únicos del parámetro.new Set con elementos de dos matrices existentes, el Set mantendrá solo los elementos únicos.... para transformar el Set nuevamente en una matriz.