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

183
Visualizações
Can I update whole draft object in immerjs

I want to ask if then is a way to update the whole object in immerjs

For example I want to set my redux state to the output of this function

Sample state

 {
  "1":{
       // properties
     },
   "2":{
     // properties
     }
 }

In the Code below mainly, there are 3 function

ObjectPush: what it does is basically shift all properties down by one(eg 1 becomes 2)from the index(param)

ObjectRemove: Remove particular index and change indexes

deleteStrip:Reducer


const ObjectPush = (obj, index) => {
  return produce(obj, (state) => {
    const keys = Object.keys(state)
      .filter((v) => v !== 'misc')
      .map(Number);

    const draft = Object.assign({}, state);

    keys.forEach((key) => {
      if (key >= index) {
        state[key + 1] = draft[key];
      }
    });

    delete state[index];
  });
};
export const ObjectRemove = (obj, index) => {
  const state = {};
  const updatedState = { ...ObjectPush(obj, index)
  };
  const keys = Object.keys(updatedState)
    .filter((v) => v !== 'misc')
    .map(Number);
  const temp = Object.assign({}, obj);
  keys.map((key) => {
    if (temp[key]) {
      if (key > index) {
        state[key - 1] = temp[key];
      } else {
        state[key] = temp[key];
      }
    }
  });
  return state;
};
 // inside immer produce
deleteStrip: (state, action) => { 
    const { index } = action.payload;
    state = ObjectRemove(state, index);
}
about 4 years ago · Juan Pablo Isaza
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