Esta es mi clase de usuario dentro de ella, estoy creando accesorios
class User extends React.Component {
constructor() {
super();
}
render() {
const usersStyle = {
background: 'yellow',
border: '1px solid black'
}
return <div className="users" style={usersStyle}>
<p>имя: {this.props.name}</p>
<p>фамилия: {this.props.surname}</p>
</div>;
}
}
Esta es mi clase de aplicación dentro de ella, creé una matriz de usuarios y dentro de la matriz hay seis objetos, cada triple de objetos debe ir dentro de un div
class App extends React.Component {
constructor() {
super();
this.state = {
users: [
{ name: 'Коля', surname: 'Иванов' },
{ name: 'Вася', surname: 'Петров' },
{ name: 'Петя', surname: 'Сидоров' },
{ name: 'Пётр', surname: 'Иванов' },
{ name: 'Алейсей', surname: 'Петров' },
{ name: 'Сергей', surname: 'Сидоров' },
],
};
}
Aquí creé un mapa
render() {
const users = this.state.users.map((item, index) => {
return <p>{item.name}</p>
});
Aquí ocurre la lógica en sí, creé una matriz llamada resultsRender creada y verifiqué si i% 3 === 2 agregué un nuevo div, pero cómo colocar tres elementos dentro de la clase clearfix
var resultsRender = [];
for (var i = 0; i < users.length; i++) {
resultsRender.push(users[i]);
if (i % 3 === 2) {
resultsRender.push(
<div className="clearfix">
</div>
);
}
}
return <div>
{resultsRender}
</div>;
}
}
Quiero hacerlo asi
<div class="clearfix">
<p>Коля</p>
<p>Вася</p>
<p>Петя</p>
</div>
<div class="clearfix">
<p>Пётр</p>
<p>Алейсей</p>
<p>Сергей</p>
</div>
Pero lo entiendo así
<p>Коля</p>
<p>Вася</p>
<p>Петя</p>
<div class="clearfix"></div>
<p>Пётр</p>
<p>Алейсей</p>
<p>Сергей</p>
<div class="clearfix"></div>
El bucle for ... debe incrementarse i
en 3. Luego use Array.slice()
para obtener 3 elementos, y luego use Array.map()
para crear las filas JSX:
const Users = ({ users }) => {
const resultsRender = [];
for (var i = 0; i < users.length; i += 3) {
resultsRender.push(
<div className="clearfix">
{
users.slice(i, i + 3)
.map(user => (
<p>{user.name}</p>
))
}
</div>
);
}
return (
<div>
{resultsRender}
</div>
);
};
const users = [{"name":"Коля","surname":"Иванов"},{"name":"Вася","surname":"Петров"},{"name":"Петя","surname":"Сидоров"},{"name":"Пётр","surname":"Иванов"},{"name":"Алейсей","surname":"Петров"},{"name":"Сергей","surname":"Сидоров"}];
ReactDOM.render(
<Users users={users} />,
root
);
.clearfix {
border: 1px solid blue;
margin: 1px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.1/umd/react-dom.production.min.js"></script>
<div id="root"></div>
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras