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

183
Vistas
Acceso al componente secundario en el componente GrandParent

Estoy construyendo un sitio web de visualizador de algoritmos de búsqueda.

El orden de los componentes es App->Row->Box

Cada componente del cuadro tiene su propia identificación única (rowNumber-colNumber) y tiene su nombre de clase establecido como "No visitado"

Tengo un evento onclick en el componente de la aplicación que ejecuta BFS

Para visualizar Bfs, tengo que acceder y cambiar el nombre de clase de algunos componentes de Box específicos (según su identificación) a "Visitado"

¿Cómo puedo lograrlo?

Estos son mis componentes

 //APP COMPONENT import React from "react" import Row from "./Row" export const Start = {row:14,col: 18},End = {row:14,col: 35} export default function App(){ const [grid,setGrid] = React.useState([]) React.useEffect(() => { for(let i = 1;i<29;i++){ setGrid(prevArray =>prevArray.concat(<Row key = {i} row = {i}/>)) } },[]) return ( <> <div className = "Navbar"> <a href ="#" onClick = {Bfs}>Breadth First Search</a> </div> {grid} </> ) }
 //ROW COMPONENT import React from "react" import Box from "./Box" import {Start,End} from "./App" export default function Row(props){ const row = []; for(let colNumber = 1;colNumber<54;colNumber++){ row.push(<Box key = {colNumber} row = {props.row} col = {colNumber} isStart = {props.row == Start.row && colNumber == Start.col} isEnd = {props.row == End.row && colNumber == End.col} />) } return ( <div className ="row"> {row} </div> ) }
 //BOX COMPONENT import React from "react"; export default function Box({ row, col, isStart, isEnd }) { return ( <div className="Unvisited" id={`${row}-${col}`}> {isStart && <img src="./images/start.png"></img>} {isEnd && <img src="./images/target.png"></img>} </div> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En el componente de la aplicación; cuadrícula constante = []

dado que está utilizando la cuadrícula como variable, a reaccionar no le importa si la cuadrícula cambia; tienes que usar useState hook const [grid, setGrid] = useState([])

y use setGrid, debe actualizar el valor de grid.

React volverá a renderizar automáticamente el componente una vez que se cambie la cuadrícula usando setGrid.

Siempre que necesite actualizar algunos datos en la página, debe usar el estado en reaccionar

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