• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

71
Vistas
Al hacer clic en la redirección del componente al componente personalizado

Estoy practicando reaccionar. Tengo algunos cuadros que se muestran en la interfaz de usuario y hacer clic en un cuadro en particular debería abrir una página correspondiente a ese cuadro. Por ejemplo, si hace clic en el cuadro 1, debería abrir una página (otro componente) que muestra el texto "Caja 1 en la que se hizo clic". Actualmente, solo puedo registrar la identificación del cuadro en la consola, pero no sé cómo redirigir. A continuación se muestra mi código.

Aplicación.js

 import React from 'react' import boxes from './data' import Box from './Box' import './style.css' export default function App(props) { const [squares, setSquare] = React.useState(boxes) function toggle(id){ console.log(id) } const squareElements = squares.map(sqaure => ( <Box key={sqaure.id} id={sqaure.id} on={sqaure.on} toggle={toggle} /> )) return ( <main> {squareElements} </main> ) }

Caja.js

 import React from 'react' export default function Box(props) { const styles = { backgroundColor : props.on ? "black" : "white" } return ( <div style={styles} className='box' onClick={() => props.toggle(props.id)} ></div> ) }

Este es el componente que quiero mostrar al hacer clic en un cuadro.

BoxInfo.js

 import React from 'react' export default function BoxInfo(props) { return ( <h2>Clicked {props.id}</h2> ) }
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede representarlo en la misma página según el cuadro seleccionado.

Aplicación.js

 import React from 'react' import boxes from './data' import Box from './Box' import './style.css' export default function App(props) { const [squares, setSquare] = React.useState(boxes) const [activeBox, setActiveBox] = React.useState() function toggle(id){ setActiveBox({id}) } const squareElements = squares.map(sqaure => ( <Box key={sqaure.id} id={sqaure.id} on={sqaure.on} toggle={toggle} /> )) if(activeBox){ return <BoxInfo {...activeBox} /> } return ( <main> {squareElements} </main> ) }
almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda