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

139
Visualizações
¿Cómo evitar React Hooks dentro de bucles y condiciones?

Tengo el siguiente problema: estoy usando Use Effect Hook para actualizar mi lista de tareas cuando abro mi aplicación web. Así que tengo que enumerar una lista con la tarea que tiene el atributo de tareas recurrentes (recuringTaskManager.lastWeeklyReset) y una lista que puede tener atributos con y sin recurrencia (taskList). Entonces, mi objetivo es actualizar taskList con el otro cuando ocurre una condición especial (si differenceInDays....). por lo tanto, quiero eliminar algunas tareas en Taskslist, por lo tanto, la función de filtro y agregarlas nuevamente para que se pueda actualizar un atributo especial. Descubrí que usar ganchos en condiciones y bucles siempre es malo, pero no sé cómo podría codificarlo sin bucles ni condiciones.

Tal vez tu sepas

 useEffect(() => { if (!isInitialized) return if (differenceInDays(new Date("July 28, 2022 00:00:00"), state.recuringTaskManager.lastWeeklyReset) >= 7) { for (let task of state.recuringTaskManager.recuringTaskListWeekly) { const {id} = task setState({...state, taskList: state.taskList.filter((task: Task) => task.id !== id)}) state.recuringTaskManager.recuringTaskListWeekly) } setState({...state, taskList: [...state.recuringTaskManager.recuringTaskListWeekly, ...state.taskList]}) } }, [isInitialized])
about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Lo que puede hacer para evitar eso es establecer una variable e incrementarla en el ciclo y luego establecer el estado fuera del ciclo o creo que para su caso puede hacer esto en una línea

 setState({...state, taskList: state.taskList.filter(({id}) => !state.recuringTaskManager.recuringTaskListWeekly.some(({id: id2}) => id === id2))})

Algunos métodos devuelven verdadero si uno de los elementos de la matriz cumple la condición, si no, devuelve falso

about 4 years ago · Santiago Trujillo 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