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

236
Views
Establezca todas las claves de objeto en falso en otro componente

Esta es una pregunta mucho más simple que eventualmente resolverá mi pregunta aquí . Entonces, ¿cómo cambio este show que está en el Component A del Component B ?
Componente A:

 const [show, setShow] = useState({ 1 : false, 2 : false, 3 : false, 4 : false, 5 : false, 6 : false })

Componente B:

 const handleShowPanel = (id) => { //how do I reset them here }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No entiendo completamente la pregunta, pero intentaré escribir un código sobre lo que entiendo.

 function Parent() { const panels = [0,1,2,3,4,5] const [panelsShowing, setPanelsShowing] = useState({ 0: false, 1: false, 2: false, 3: false, 4: false, 5: false, }) const togglePanelShowing = useCallback((index) => { setPanelsShowing(prevState => ({ ...prevState, [index]: !prevState[index] })) },[setPanelsShowing]) return ( <div> {panels.map((onePanel, panelIndex) => { return (<Panel isShowing={panelsShowing[panelIndex]} togglePanelShowing={() => togglePanelShowing(panelIndex)} />) })} </div> ) } const Panel = ({ isShowing, togglePanelShowing }) => isShowing ? ( <div> <button onClick={togglePanelShowing}>Toggle!</button> </div> ) : null

También veo que escribió que en realidad desea tener la función de alternar en el componente secundario, eso es simple, pase setShow al componente secundario y vuelva a crear la función de alternar dentro de él.

 <Panel setPanelsShowing={setPanelsShowing} />

Otra cosa que quiero decir es que si el Objeto de mostrar es todo lo que tiene y en realidad no tiene una matriz de elementos, entonces aún puede usar la misma función de alternar mostrar, pero en lugar de mapear a través de paneles, mapearía con Objeto. las entradas del objeto show y la clave serían el número y el valor sería el booleano si se muestra o no.

por ejemplo:

 const toggleShowing = (number) => { setPanelsShowing(prevState => ({ ...prevState, [number]: !prevState[number] })) } // in the JSX return: Object.entries(panelsShowing).map(([number, isShowing]) => (<Panel isShowing={isShowing} toggleShowing={() => toggleShowing(number)}/>))

tal vez si agregara más a su pregunta, podría entenderlo mejor, pero por lo que entiendo, tiene una matriz de algunos elementos y desea decidir si el elemento se muestra en función del índice. O tiene un objeto cuyas claves son el número y el valor es si se muestra o no.

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