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

165
Vistas
Reaccionar solo actualizaciones al cambiar el tamaño de la ventana

Todo funcionaba y luego agregué un archivo .js para reaccionar y, de repente, los movimientos no se muestran hasta que la ventana cambia de tamaño. Desde entonces he desconectado el archivo, pero sigue sin funcionar.

Solo trato de hacer funcionar un tablero de ajedrez (y sí, sé que hay un tablero.jsx, pero esto es para practicar) y conseguí que las piezas se movieran así: (esto está dentro de un constructor)

 let newBoard = this.props.boardArray; this.handleClick = (i, j) => { switch (canStartMove){ case true: if(newBoard[i][j] !== null){ move = newBoard[i][j]; alert(move); } else { break; } l = i; m = j; canStartMove = false; break; case false: if(l !== i || j !== m){ if(true){ // rules should go here, but for test purposes set to true //something about whose turn it is as well newBoard[l][m] = null; newBoard[i][j] = move; alert(newBoard[i][j]); } else { alert("that's illegal"); } } this.props.setBoardArray(newBoard); canStartMove = true; } } }

o aproximadamente así. donde actualiza una matriz que luego la traduce a .svg's

 const [boardArray, setBoardArray] = useState(initBoardArray);

donde se define initBoardArray

 const initBoardArray = [["bR", "bN", "bB", "bQ", "bK", "bB", "bN", "bR"], ["bP", "bP", "bP", "bP", "bP", "bP", "bP", "bP"], [null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null], ["wP", "wP", "wP", "wP", "wP", "wP", "wP", "wP"], ["wR", "wN", "wB", "wQ", "wK", "wB", "wN", "wR"]];

Pero los cambios no se muestran hasta que la ventana cambia de tamaño o algo así. que definí así

 const { height, width } = useWindowDimensions(); let newSide = 0; (function resizeTheBoard() { let diagonal = Math.sqrt((height * 900 / 780) ** 2 + width ** 2); newSide = Math.SQRT2 * diagonal / 2; })();

pero tenía esta función de cambio de tamaño al principio y el problema acaba de comenzar ahora, así que... Ni siquiera estoy seguro de si el problema está aquí. También estoy usando Container de react-bootstrap, aunque también lo eliminé y el problema persiste. Si alguien tiene alguna idea o si esto tiene algún sentido, cualquier ayuda sería apreciada.

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