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

189
Vistas
Los componentes de reacción no se representan con NewData después del cambio de estado

Preguntas similares de esta naturaleza tienen el problema de algo nuevo usando setState/a hook. Sin embargo, en realidad lo estoy, y sigo viendo un problema en el que mis componentes de "Pieza" no toman nuevos valores incluso después de que se cambia el estado de boardData.

Aquí hay una imagen para que pueda ver que los datos definitivamente se cambian cuando se hace clic en una pieza, pero no cambia nada visualmente.

ingrese la descripción de la imagen aquí

Aquí está mi código:

Tablero.jsx

 import Piece from "./Piece"; import "./style.css"; import {useEffect, useState} from "react"; const defaultBoardData = [ [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], ] const Board = () => { const [boardData, setBoardData] = useState(defaultBoardData) const changeBoardValue = (row, col) => { const newBoard = [...boardData] newBoard[row][col] = 1; setBoardData(newBoard) } useEffect(() => { console.log(boardData) }, [boardData]) return ( <div id="board"> { boardData.map((row, rowIndex) => ( <div key={rowIndex} className="board-row"> {row.map((column, colIndex) => ( <Piece key={rowIndex + colIndex} onClick={() => changeBoardValue(rowIndex, colIndex)} value={boardData[rowIndex][colIndex]}/> ))} </div> )) } </div> ) } export default Board

Pieza.jsx

 import {useEffect, useState} from "react"; import whiteCircle from "./images/whiteCircle.png" import yellowCircle from "./images/yellowCircle.png" import redCircle from "./images/redCircle.png" import "./style.css" const Piece = (props) => { const [value, setValue] = useState(props.value); console.log(value) const getImage = () => { if (value === 0) { return whiteCircle } else if (value === 1) { return yellowCircle } else { return redCircle } } let image = getImage(); return ( <div onClick={props.onClick}> <img src={image} alt=""/> </div> ) } export default Piece

¡Cualquier ayuda será apreciada, gracias!

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