Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

94
Visualizações
Cómo pasar el estado más reciente de los padres a los componentes secundarios que son elementos del estado en React

Aquí, quise decir que padre e hijo fueran App() y Child() respectivamente en el código a continuación.

App() tiene un estado, myState , que es una matriz de Child() .
Cada Child() es básicamente un <button> con una determinada propiedad que contiene myState e imprime la id de cada Child() en myState en la consola cuando se presiona.

Lo que espero es que cuando se presiona Child() , se imprima el último myState .
Sin embargo, el myState realmente impreso parece la versión de cuando se aprobó, y no la última.

¿Hay alguna solución para hacer que la propiedad myState pase a Child() apunte al myState más reciente?

Habiendo agregado varios niños, puede verificar el myState de cada Child() en la consola presionándolos.
Por ejemplo, si presiona el botón ADD dos veces, aparecerán 2 botones adicionales.
Cuando se presiona Child() inicialmente agregado ( id of 'initial' ), imprime correctamente los id s, 1 y 2.
Sin embargo, cuando se presiona ID: 1 , no se imprime nada, y cuando se presiona ID: 2 , solo 1.

 import React, { useState } from 'react'; import './App.css'; function App() { const [myState, setMyState] = useState([] as JSX.Element[]); /* Below is a BAD state-passing example. setMyState makes myState point to an new array with another Child appended, although myState passed to the new Child references to the old array. Is there any way to pass the latest myState to Child??? */ function add() { setMyState([...myState, <Child key={myState.length + 1} id={myState.length + 1} myState={myState} />]); } return ( <div className="App"> <button onClick={add}>ADD</button> <Child key="initial" id="initial" myState={myState} /> {myState} </div> ); } function Child({ id, myState }: any): JSX.Element { return ( <div> <button id={id} onClick={() => { for (let child of myState as JSX.Element[]) { console.log(child.props.id); } }}>ID: {id}</button> </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda