Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

140
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda