Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

277
Vistas
NextJS: recargar iFrame desde otro componente

Tengo una aplicación NextJS, con la siguiente página:

Página:

 import Layout from "@/components/app/Layout"; import Sidebar from "@/components/app/Sidebar"; export default function SiteIndex() { return ( <Layout> <div className="flex"> <Sidebar /> <div className="m-5"> <iframe src="/page.htm"></iframe> </div> </div> </Layout> ); }

Esta página tiene un iframe, un componente principal de Layout y un componente más llamado Sidebar .

Diseño principal:

 export default function Layout({ children }) { return ( <div> <div class="h-12 bg-gray-200 flex"> <div className="m-2 grow">Parent Layout</div> <button className="bg-blue-500 text-white p-3">Reload iFrame Button</button> </div> <div>{children}</div> </div> ) }

Barra lateral:

 export default function Sidebar() { return ( <div className="w-64 border border-r-100 m-5"> <div>Sidebar</div> <button className="bg-blue-500 text-white p-3">Reload iFrame Button</button> </div> ) }

Tanto Layout como Sidebar tienen un botón. Quiero poder recargar el iframe al presionar cualquiera de esos botones. ¿Cómo puedo lograr esto en el proyecto react/nextjs? principalmente estoy buscando la mejor manera de recargar un iFrame dentro de reactjs.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Funcionaría para su aplicación agregar una key={keyValue} al iframe ? Luego puede establecer el valor de esa tecla cada vez que se presiona el botón. Esto debería causar una nueva renderización.

 export default function SiteIndex() { const [keyValue, setKeyValue] = useState(0); return ( <Layout onButtonClick={() => setKeyValue(keyValue + 1)} > <div className="flex"> <Sidebar onButtonClick={() => setKeyValue(keyValue + 1)} /> <div className="m-5"> <iframe src="/page.htm" key={keyValue}></iframe> </div> </div> </Layout> ); }

Y en tu componente

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda