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

308
Views
Agregar y eliminar funciones en una matriz de javascript (React-Hooks)

Tengo un sistema de filtrado donde uso una matriz para agregar o eliminar los métodos de filtrado. Pero mi estado no funciona correctamente o me he perdido algo.

 const [filters, setFilters] = useState([]); const [creatorFilter, setCreatorFilter] = useState(null); const handleCreatorFilter =(filter) => { setCreatorFilter(filter); if (filter === 'structures' && filters.indexOf(byStructureFilter) === -1) { setFilters([...filters, byStructureFilter]); } if (filter === 'members' && filters.indexOf(byMemberFilter) === -1) { setFilters([...filters, byMemberFilter]); } if (filter === 'all') { setFilters(filters.filter(el => el !== byStructureFilter || el !== byMemberFilter)); } }; const byStructureFilter = (item) => { return item.relationships.structure.data }; const byMemberFilter = (item) => { return item.relationships.user.data && !item.relationships.structure.data };

Aquí los dos botones que llaman a ese handleCreatorFilter para filtrar

 <button onClick={() => creatorFilter === 'structures' ? handleCreatorFilter('all') : handleCreatorFilter('structures')}>Structures officielles</button> <button onClick={() => creatorFilter === 'members' ? handleCreatorFilter('all') : handleCreatorFilter('members')} >Membres Wekomkom</button>

Las cosas son para agregar métodos de filtrado a la matriz, funciona bien, pero no cuando el filtro está configurado para all (eliminando los métodos de filtrado). ¿Ves algo mal en mi lógica?

about 4 years ago · Juan Pablo Isaza
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
Virtual assistant