Как добавить новую строку, когда я возвращаю массив в React?

Мне нужно было напечатать строку «фиктивные данные».

Итак, я сделал функцию, которая возвращает массив, содержащий строку «фиктивные данные». Мне удалось напечатать «фиктивные данные, фиктивные данные, фиктивные данные…». Тем не менее, я хочу поместить новую строку в каждую строку. Тогда это будет выглядеть так,

...
фиктивные данные
фиктивные данные
фиктивные данные
...

Как мне это сделать?

Пример изображения кода и результата

class Content extends Component {
  dummyDataLoop = () => {
    var rows = [];
    for (let i = 0; i < 10; i++) {
      rows.push("dummy data");
    }
    return rows;
  };

  render() {
    return (
      <article>
        <div>[CONTENT AREA START]</div>
        {this.dummyDataLoop()}
        <div>[CONTENT AREA END]</div>
      </article>
    );
  }
}

Вам нужно обернуть каждую строку в элемент уровня блока или вы можете использовать разрыв строки

Code Maniac 22.05.2019 03:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
1
2 427
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Оберните строку в <div>, а затем поместите ее в массив.

dummyDataLoop = () => {
  var rows = [];
  for (let i = 0; i < 10; i++) {
    rows.push(<div>dummy data</div>);
  }
  return rows;
};

Другой способ — использовать map() и оператор расширения для сокращения кода.

dummyDataLoop = () => [...Array(10)].map(x => <div>dummy data</div>)

@MasonYMKoh Рад помочь вам. Также см. второй, делающий то же самое. На самом деле создание пустого массива и добавление в него элементов не считается чистым кодом.

Maheer Ali 22.05.2019 04:02

Вы можете обернуть dummy data тегом div, прежде чем помещать его в массив следующим образом.

<div>dummy data</div>

Вы можете изменить свой код на

dummyDataLoop = () => {
    var rows = [];
    for (let i = 0; i < 10; i++) {
      rows.push(<div>dummy data</div>);   // notice change in this line
    }
    return rows;
};

  render() {
    return (
      <article>
        <div>[CONTENT AREA START]</div>
        {this.dummyDataLoop()}
        <div>[CONTENT AREA END]</div>
      </article>
    );
  }
}

Это очень просто. Используйте map для итерации массива, а затем верните его, завернутый в

ярлык.

class Content extends Component {
  dummyDataLoop = () => {
    var rows = [];
    for (let i = 0; i < 10; i++) {
      rows.push("dummy data");
    }
    return rows;
  };
  render() {
    return (
      <article>
        <div>[CONTENT AREA START]</div>
        {this.dummyDataLoop().map((item, index) => <p key = {index}>{item}</p>)}
        <div>[CONTENT AREA END]</div>
      </article>
    );
  }
}

Другие вопросы по теме