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

172
Vistas
Haga que el bucle se ejecute después de la instrucción "return". [Reaccionar JS]

Objetivo: quiero renderizar 64 elementos <Square /> con <br/> después de cada 8 elementos

Problema: el script genera solo un bloque y luego se detiene y no sucede nada más.

Código fuente:

 import React from 'react'; import ReactDOM from 'react-dom'; import './style.css'; class Square extends React.Component { render() { return <div id="block"></div>; } } class Board extends React.Component { renderSquare() { for (let i = 1; i <= 64; i++) { if (i % 8 == 0) { return <br />; } else { return <Square />; } } } render() { return <div>{this.renderSquare()}</div>; } } function Game() { return ( <div id="board"> <Board /> </div> ); } ReactDOM.render(<Game />, document.getElementById('root'));
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El uso de la declaración de devolución saldrá de la función después de la primera coincidencia, por lo tanto, en el primer ciclo sale y solo muestra el primer elemento, debe usar una matriz, almacenar los elementos en ella y luego devolver la matriz.

Cambie su método renderSquare a seguir

 renderSquare() { const items = []; for (let i = 1; i <= 64; i++) { if (i % 8 === 0) { items.push(<br />); } else { items.push(<Square />); } } return items; }

Actualizar

si desea imprimir 64 veces, utilice lo siguiente

 renderSquare() { const items = []; for (let i = 1; i <= 64; i++) { items.push(<Square />); if (i % 8 === 0) { items.push(<br />); } } return items; }

Mira esto https://codesandbox.io/s/peaceful-brattain-pj32le?file=/src/App.js

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