Не могу отобразить данные, которые получаю с сервера:
import React from 'react'
import {MDBTable, MDBTableBody, MDBTableHead, MDBContainer, MDBCol} from 'mdbreact';
import Header from '../Register/stepData/Header'
import {MDBDataTable} from 'mdbreact';
export default class PriceList extends React.Component {
constructor(props) {
super(props)
this.state = {
services: []
};
}
renderServices = arr => {
return {
columns: [
{
label: '№',
field: 'number',
sort: 'asc',
width: 270
},
{
label: 'Название Услуги',
field: 'title',
sort: 'asc',
width: 150
},
{
label: 'Цена',
field: 'position',
sort: 'asc',
width: 270
},
],
rows: arr.data.map(item => ({
number: item.id_service,
title: item.title,
office: item.price,
}))
};
}
getServices = _ => {
fetch('http://localhost:3001/prices')
.then(response => response.json())
.then(response => this.setState({services: response.data}))
.catch(err => console.log(err))
}
componentDidMount() {
this.getServices();
}
render() {
const {services} = this.state
console.log(services)
return (
<>
<Header/>
<MDBContainer>
<MDBDataTable
hover
data={services.map(this.renderServices)}
/>
</MDBContainer>
</>
)
}
}
У вас при вызове services.map(this.renderServices)
в метод передаются элементы.
Т.е, внутри renderServices
переменная arr
будет элементом вида:
{
id_service: 1, title: "", price: 25
}
Поля data
там нет. Следовательно, arr.data
будет undefined
, вот arr.data.map
и падает.
Вместо data={services.map(this.renderServices)}
написать data={this.renderServices(services)}
, а вместое arr.data.map
написать arr.map
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Что происходит в функции(person), можете написать по порядку?
Например имеется роут groups выводящий соответственно список всех группЕсли у роута есть параметры, например, groups?grouptype=new, то он, например, выводит...
Есть скрипт, который формирует кнопку canvasВнутри кнопки пишется текст, как узнать ширину текста что бы правильно оцентровать кнопку? Проблема...