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

197
Visualizações
Devolver valor del componente secundario al componente principal Reaccionar

Así que estoy tratando de usar un temporizador de reacción en uno de los componentes de mi clase. Descubrí cómo conectarlo, pero ahora necesito ahorrar tiempo en el estado de los padres. ¿Cómo puedo seguir haciendo eso? Dado que el tiempo se mide en el componente secundario. Entonces, esencialmente, necesito guardar el tiempo medido desde el componente secundario hasta el estado del padre.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

La frase que me viene a la mente es Levantamiento de Estado . React tiene un flujo de datos 'de arriba hacia abajo'. Por lo tanto, su estado debe inicializarse en el componente principal y transmitirse a los componentes secundarios que lo necesitan. por ejemplo (pseudocódigo, puede que no funcione)

 function Parent() { const [text, setText] = useState('hello world') return ( <> <Child text={text} /> <OtherChild text={text} setText={setText} /> </> ) } function Child({ text }) { return <p>{text}</p> } function OtherChild({ text, setText }) { return ( <input onChange={e => setText(e.target.value)} value={text} /> ) }
about 4 years ago · Juan Pablo Isaza Relatório

0

Deberá pasar una función que actualice el estado del padre al componente hijo a través de accesorios:

En este ejemplo en particular, tanto el hijo como el padre tienen un enlace de estado que realiza un seguimiento del tiempo: se llama a la función updateParentTime del padre cada vez que cambia el valor de time del hijo.

NOTA : probablemente no sea necesario mantener el estado en ambos lugares... Solo estaba mostrando un ejemplo. Si el padre necesita tener un estado para el time , también puede pasarlo al componente secundario

 const Parent = (props) => { const [time, setTime] = useState(0); const updateParentTime = (t) => { setTime(t); } return ( <Child updateParentTime={updateParentTime}/> ) } const Child = (props) => { const {updateParentTime} = props; const [time, setTime] = useState(0); useEffect(() => { updateParentTime(time) }, [time]); return ( <div> {/* something goes here */} </div> ) }
about 4 years ago · Juan Pablo Isaza Relatório

0

Lo siguiente define dos componentes de React: Parent y Child .

Parent declara una parte del estado llamada time y un método mutator para ese estado llamado setTime .

El valor actual del time se pasa a Child a través de la propiedad denominada time .

setTime se pasa a Child a través de la propiedad llamada notify .

Child configura un temporizador que invoca la notify (es decir setTime ) una vez por segundo.

La invocación de la notify le dice a React que se ha producido un cambio de estado y desencadena una nueva representación de ambos componentes, lo que hace que cada componente represente la hora, una vez por segundo.

 pre { border: 1px solid black; padding: 10px; }
 <script src="https://unpkg.com/@babel/standalone@7/babel.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script> <script type="text/babel"> const { useState, useEffect } = React const Parent = () => { const [ time, setTime ] = React.useState('--- --- -- ----') return <pre> Parent: { time } <Child notify={setTime} time={ time }/> </pre> } const Child = ({ notify, time }) => { useEffect(()=>{ const id = setInterval(() => notify(Date()), 1000) return () => clearInterval(id) }) return <pre>Child: {time}</pre> } ReactDOM.render(<Parent/>, document.querySelector('main')) </script> <main></main>

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