alex4answ
@alex4answ

Как вывести N компонентов?

Добрый день, нужно вывести 5 одинаковых компонента, как это сделать?

Сейчас делаю так:
const count = 5; // передается в props
const items = Array(count).fill(1).map( (item, index) => <MyComponent key={`_${index}`} /> );


Можно конечно это было конечно так:
Вот так

const count = 5;
const items = [];

for(let i = 0; i < count; i++) {
  items.push(<MyComponent key={`_${i} />);
}


Разницы +- нет, но я использую свой вариант, чтобы не раздувать размер компонента, тк это все в условии.

Какие есть варианты кроме этих 2, может быть вариант что используя совсем мрак, и стоит делать по другому?

Мне не очень нравится мой вариант из-за сложности, столько шагов чтобы просто заполнить массив.
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
Самый короткий синтаксис такой

const length= 5; // передается в props
Array.from({ length }, (_, index) => <MyComponent key={`_${index}`} /> );


но вообще достаточно создать один раз функцию в каком-нибудь utils и использовать ее или использовать range из библиотеки lodash
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы