Задать вопрос
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} />);
}

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

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

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

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


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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽