Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

144
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!