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

109
Views
¿Cómo eliminar la matriz de formularios de elementos?

Tengo la siguiente matriz en mi aplicación React naitve.

 const [items, setItems] = useState([ { answers: [{ id: 1 }, { id: 2 }] }, { answers: [{ id: 1 }] }, { answers: [{ id: 1 },] }, ]);

Quiero eliminar el elemento de la primera fila con id 2 Así que la final debería verse así

 [ { answers: [{ id: 1 }] }, { answers: [{ id: 1 }] }, { answers: [{ id: 1 }] }, ]

Cómo puedo hacer eso ? Traté de empezar así

 const onDelete = useCallback((itemId) => { var newItems = [...items]; newItems = newItems[0].answers.filter(....) //I don't know how to continue setItems(newItems); }, []);

Perdón por la pregunta, ¡pero soy nuevo en react-native y javascript!

about 4 years ago · Santiago Gelvez
3 answers
Answer question

0

Suponiendo que desea cambiar el primer objeto y desea filtrar dinámicamente las respuestas en función de su itemId , la función onDelete se vería así:

 const onDelete = useCallback((itemId) => { setItems((prev) => [ { answers: prev[0].answers.filter(({ id }) => id !== itemId) }, ...prev.slice(1), ]); }, []);
about 4 years ago · Santiago Gelvez Report

0

He ampliado la respuesta @ sm3sher para permitir la eliminación de identificadores de respuesta en cualquier índice.

 const onDelete = useCallback((answerId=2,itemIndex=0)=>{ const newItems = [...items]; let currentItem = newItems[itemIndex] currentItem.answers = currentItem.answers.filter(({id})=> id !== answerId) newItems[itemIndex] = currentItem; setItems(newItems); },[]);
about 4 years ago · Santiago Gelvez Report

0

Debe crear un nuevo objeto, cuya propiedad de answers sea el original filtrado. La devolución de llamada del filtro puede ser ({id}) => id != 2 :

 newItems[0] = { answers: newItems[0].answers.filter(({id}) => id != 2) };
about 4 years ago · Santiago Gelvez 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!