class Rate extends React.Component {
constructor(props) {
super(props);
this.state = {
date: '',
currencyRat: {},
}
this.currency = ['USD', 'RUB', 'CAD'];
this.geRate();
}
getRate() {
fetch('https://api.exchangeratesapi.io/latest')
.then(data => {
return data.json
})
.then(data => {
console.log(data)
this.setState({ date: data.date })
})
}
class Rate extends React.Component {
constructor(props) {
super(props);
this.state = {
date: '',
currencyRat: {},
}
this.currency = ['USD', 'RUB', 'CAD'];
}
componentDidMount() {
this.getRate(); // не в конструкторе надо вызывать, а в componentDidMount
}
getRate() {
fetch('https://api.exchangeratesapi.io/latest')
.then(data => {
return data.json(); // забыли вызвать функцию
})
.then(data => {
console.log(data)
this.setState({ date: data.date })
})
}
Не могу понять почему ошибку выдает.Потому что вызываете setState в конструкторе, по сути.
нужно запустить через componentDidMount но это тоже не сработалоА должно было. Но поскольку код вы не показали, в чём там был подвох нам неизвестно. Скорее всего, вы просто добавили вызов в componentDidMount, но не убрали его из конструктора.