S
S
s243442018-10-20 12:55:47
React
s24344, 2018-10-20 12:55:47

React.js how to properly create dynamic html structure from data?

Hello. Please tell me how can I solve the following problem. I have some json data.

Здравствуйте. Подскажите пожалуйста как мне решить следующую задачу. У меня есть некое количество json данных.
{
  "cards": [
    { "id": "1", "content": "Lorem ipsum dolor sit amet." },
    { "id": "2", "content": "Lorem ipsum dolor sit amet." },
    { "id": "3", "content": "Lorem ipsum dolor sit amet." },
    { "id": "4", "content": "Lorem ipsum dolor sit amet." },
    { "id": "5", "content": "Lorem ipsum dolor sit amet." },
    { "id": "6", "content": "Lorem ipsum dolor sit amet." },
    { "id": "7", "content": "Lorem ipsum dolor sit amet." }
  ]
}

I receive this data and pass it through props to the component.
// this.cardsData, это данные

ReactDOM.render(
    <NewsFeedPreviewList
        list={this.cardsData}
    />,
    document.querySelector('[data-dc-news-feed-preview-ref="primary-wrapper"]'));

NewsFeedPreviewList.js

class NewsFeedPreviewList extends Component {
  renderNewsFeedPreview = (list) => {
    let template = null;
    template = list.map((item, i) => {
      return (
          <PlayerCardRow
              key={i}
              item={item}
          />
      );
    });
    return template;
 }
 
  render() {
    return (
      <div className="news-feed-preview__layout">
        { this.renderNewsFeedPreview(this.props.list) }
      </div>
    );
  }
}

I would like to implement the following logic:
I need to set up such a structure according to the following principle, for example:
<div className="section">
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 0</a>
  </div>
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 1</a>
  </div>
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 2</a>
  </div>
</div>

<div className="section">
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 3</a>
  </div>
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 4</a>
  </div>
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 5</a>
  </div>
</div>

<div className="section">
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 6</a>
  </div>
  <div className="section__item">
    <a>Здесь будут элементы массива с индексом 7</a>
  </div>
</div>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
0
0xD34F, 2018-10-20
@s24344

Режете массив на куски - будет массив массивов. И обходите его, внешний цикл создаёт элементы .section, внутренний - .section__item. Как-то так.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question