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

138
Visualizações
¿Cómo acceder al estado de un componente desde otro componente en next.js?

Tengo un estado booleano de bgWhite. Si cambia, cambio el color de fondo. Todo esto está en el archivo index.js en el directorio de páginas.

¿Cómo puedo acceder al estado bgWhite desde el componente para hacer algo como cambiar el color de fondo?

 import { useState } from "react"; import Hello from "../components/Hello"; export default function Home(props) { const [bgWhite, setBgWhite] = useState(true) return ( <div> <div onClick={() => setBgWhite(!bgWhite)} className='cursor-pointer inline-block bg-blue-400 p-4 m-2 select-none'>Click me</div> <div className={`${bgWhite ? 'bg-red-500' : 'bg-green-600'} p-4 m-2 inline-block`}>BG</div> <Hello /> </div> ); }

El componente <Hello /> :

 export default function Hello() { return( <div className="p-4 m-2 bg-yellow-600 inline-block"> <div>Hi</div> </div> ) }

Además, si hago que el color de fondo cambie div a otro componente que lleve el estado, ¿cómo puedo acceder al estado de ese componente al componente <Hello /> ?

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

0

En correcto en nuevo estado

 import { useState } from "react"; import Hello from "../components/Hello"; export default function Home(props) { const [bgWhite, setBgWhite] = useState(true) const {hello} = useState(Hello) return ( <div> <div onClick={() => setBgWhite(!bgWhite)} className='cursor-pointer inline-block bg-blue-400 p-4 m-2 select-none'>Click me</div> <div className={`${bgWhite ? 'bg-red-500' : 'bg-green-600'} p-4 m-2 inline-block`}>BG</div> <Hello /> </div>

); }

about 4 years ago · Juan Pablo Isaza Relatório

0

Dado que el componente Hello es un elemento secundario de su componente de página index.js , puede simplemente pasar el estado y la función setState a través de props , es la forma más fácil para el ejemplo que está proporcionando y supongo que esto es lo que está buscando hacer.

 import { useState } from "react"; import Hello from "../components/Hello"; export default function Home(props) { const [bgWhite, setBgWhite] = useState(true) return ( <div> <div onClick={() => setBgWhite(!bgWhite)} className='cursor-pointer inline-block bg-blue-400 p-4 m-2 select-none'>Click me</div> <div className={`${bgWhite ? 'bg-red-500' : 'bg-green-600'} p-4 m-2 inline-block`}>BG</div> <Hello bgWhite={bgWhite} setBgWhite={setBgWhite} /> </div> ); }

Luego, reciba esos accesorios en su componente y utilícelos cuando los necesite:

 export default function Hello({bgWhite, setBgWhite}) { return( <div className="p-4 m-2 bg-yellow-600 inline-block"> <div>Hi</div> </div> ) }

Si toma el div que cambia su color de fondo junto con el estado a otro componente, deberá pensar un poco más en cómo pasaría ese estado al componente Hello . Puede hacer que Hello sea un elemento secundario del nuevo componente del que está hablando o usar la API de Context para acceder a ese estado en cualquier lugar de su aplicación.

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