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

297
Vistas
Crear Grid con Javascript React

Quiero crear una cuadrícula y ya tengo un código de trabajo que crea la cuadrícula como quiero, aunque el código se ve feo y es bastante lento para representar cualquier cosa que tenga más de 100 columnas/filas de largo.

¿Hay alguna forma de recrear la misma cuadrícula con un método más fácil? Soy bastante nuevo en React y solo hice Java hasta ahora, así que probablemente me estoy perdiendo algo o simplemente tengo la mentalidad equivocada.

Cualquier ayuda para mejorar sería apreciada.

Aquí está el código:

 function makeRows(size) { let grid = [] let disabled = 0 let currentFieldDisabled = true document.documentElement.style.setProperty('--grid-cols', +size + 1); for (let c = 0; c < ((+size + 1) * size); c++) { if (c % size === 0) { grid.push(<label className="grid-item" for={"grid-item" + (c + 1)}>test</label>) } if (disabled === c) { disabled = disabled + +size; currentFieldDisabled = true; } if (c / size < 1) { grid.push(<label className="grid-item" for={"grid-item" + (c + 1)}>test</label>) } else { if (currentFieldDisabled) { currentFieldDisabled = false; disabled++; grid.push(<input disabled={true} type="text" placeholder="X" id={"grid-item" + (c + 1)} className="grid-item"/>) } else { grid.push(<input type="text" id={"grid-item" + (c + 1)} className="grid-item"/>) } } } return grid }

El objetivo del código es crear una cuadrícula que tenga tantos campos como el tamaño que se le dio a la potencia de 2, por lo que si le ponemos 10 obtenemos una cuadrícula con 100 campos. Ahora, debido a que cada campo debe tener sus coordenadas, por ejemplo, debe haber un título para cada campo en la parte superior horizontalmente y en el lado izquierdo verticalmente, por lo que el tamaño aumenta en uno para obtener 1 fila más en la parte superior y una columna más en la parte superior. derecho a disponer de espacio para los títulos/coordenadas. Solo imagínalo como un tablero de ajedrez que simplemente se coordina en un lugar diferente.

Y el próximo objetivo es hacer una línea de campos deshabilitados desde la parte superior izquierda hasta la parte inferior derecha, de modo que cuando 2 coordenadas sean iguales, el campo debe estar deshabilitado, y porque las coordenadas tanto en el lado izquierdo como en la parte superior deben estar siempre al final. ser lo mismo, siempre sería una línea deshabilitada de arriba a la izquierda a abajo a la derecha.

Ahora, ¿hay alguna forma de hacer que el código sea más refinado y mejor rendimiento? Hay muchos casos en mi aplicación en los que la cuadrícula debe representar más de un tamaño de 100 y tarda exponencialmente más en cargarse en ese punto.

Lo siento por mi mal inglés y gracias de antemano :)

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