victorzadorozhnyy
@victorzadorozhnyy

Как сделать таблицу из аррея через map (приложение на React)?

Как в моем случае запустить вывод таблицы через map
data:               [
                           {'name': 'Education', 'number': 33},
                           {'name': 'Promotion', 'number': 10},
                           {'name': 'Events', 'number': 55 }
                         ]

Как правильно сделать?
<Table >
                    <tbody>
//сюда нужно вставить код вывода таблицы
{this.state.data.map(function(row, i) {
          return (
            <tr key={i}>
              {row.map(function(col, j) {
                return <td key={j}>{col}</td>;
              })}
            </tr>
          );
        })}

                    </tbody>
                </Table>
  • Вопрос задан
  • 2989 просмотров
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
import React, { Component } from 'react'

export default class App extends Component {

  render() {
    const data = [
      {'name': 'Education', 'number': 33},
      {'name': 'Promotion', 'number': 10},
      {'name': 'Events', 'number': 55 }
     ]

    let tableTemplate;

    function makeColumns(row) {
      return <td>{row.name} {row.number}</td>
    }

    tableTemplate = data.map((row, i) => {
      return <tr key={i}>{makeColumns(row)}</tr>
    })

    return (
      <table>
        <tbody>
          {tableTemplate}
        </tbody>
      </table>
    )
  }
}


ES5 код ниже

import React, { Component } from 'react'

export default class App extends Component {

  render() {
    var data = [
      {'name': 'Education', 'number': 33},
      {'name': 'Promotion', 'number': 10},
      {'name': 'Events', 'number': 55 }
     ];

    var tableTemplate;

    function makeColumns(row) {
      return <td>{row.name} {row.number}</td>
    }

    tableTemplate = data.map(function(row, i) {
      return <tr key={i}>{makeColumns(row)}</tr>
    });

    return (
      <table>
        <tbody>
          {tableTemplate}
        </tbody>
      </table>
    )
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект
24 нояб. 2024, в 00:04
5000 руб./за проект