У меня есть работающий компонент componentDidMount, использующий axios, который начинает иметь избыточные вызовы.
Я пытался создать отдельную функцию для вызова, но теперь она ломает все.
Я попытался изменить порядок функций и указать, где они объявлены ... но при попытке визуализации я получаю нулевые ошибки.
TypeError: Cannot read property 'map' of undefined
Рабочий компонент
componentDidMount() {
const url = `${API_URL}?$limit=${API_LIMIT}`;
const record_count = `${API_URL}?$select=count(*)`;
axios.get(url).then(response => response.data)
.then((data) => {
this.setState({ meteorite: data })
console.log(this.state.meteorite)
})
axios.get(record_count).then(response => response.data)
.then((data) => {
this.setState({ total_count: data })
console.log(this.state.total_count)
})
}
Попытка ...
getData(url){
axios.get(url).then(response => response.data)
.then((data) => {
return data;
})
}
componentDidMount() {
const init_url = `${API_URL}?$limit=${API_LIMIT}`;
const record_count_url = `${API_URL}?$select=count(*)`;
console.log("init_url: " + init_url)
this.setState({ meteorite: this.getData(init_url) })
this.setState({ total_count: this.getData(record_count_url) })
}