• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

80
Views
Accediendo al estado del niño React

Tengo un elemento React que representa elementos secundarios con un estado de target . este estado objetivo puede cambiar en cualquier momento y el padre no tiene acceso en este momento.

 const Parent = () => { function getTarget(){ //TODO } return( <Button>get target</Button> {children.map(c=>{ <Child props={props}/> })} ) } const Child = (props) => { //props stuff const [target, setTarget] = useState(null) // this target would be changed by user as they interact. return( //child elements ) }

lo que estoy tratando de hacer es obtener el estado target del Niño usando el botón en el Padre con las siguientes restricciones:

  1. Puede haber una cantidad variable de elementos Child , pero solo uno de ellos es visible a la vez.

  2. El botón "obtener objetivo" debe estar en Parent , el estado "objetivo" debe inicializarse en child y es desconocido.

porque solo en Child está activo a la vez, una solución que funciona para

 return( <Button>get target</Button> <Child props={props}/> )

también está bien

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

 const Parent = () => { const [activeTarget, setActiveTarget] = useState(null); const handleButton = () => { console.log(activeTarget); } return( <Button onClick={handleButton}>get target</Button> {children.map(c=>{ <Child setActiveTarget={setActiveTarget} /> })} ) } const Child = ({setActiveTarget}) => { const [target, setTarget] = useState(null); // when the user interacts call 'setTarget' and 'setActiveTarget' to update both states // update parent state when child mounts useEffect(() => { setActiveTarget(target); }, [target]} // you can additionally add dependencies to update the parent state conditionally return( //child elements ) }

almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error