Ответ от AXIOS - это массив JSON? Если да, пытались ли вы вызвать ответ JSON в AXIOS?
axios
.get(
"https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP,BCH,EOS,TRX&tsyms=EUR,CHANGE&api_key=xxx",
{
responseType: 'json',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
}
)
.then(...)
Кроме этого, способ, которым вы выполняете итерацию в рендере, будет лучше:
- Проверьте, существует ли
this.state.cryptos
, перед тем как его повторить.
- Поместите
key
в первый отступ div на итераторе; Это нужно ReactJ.
- Создайте объектный итератор вместо ключевого итератора.
Рефакторинг рендеринга:
render() {
if(this.state.cryptos.length === 0) return null;
return (
<div className="test">
{this.state.cryptos.map((crypto, key) => (
<div id="crypto-container" key={key}>
<span className="left">{key}</span>
<span className="right">
<NumberFormat
value={crypto.EUR}
displayType={"text"}
decimalPrecision={2}
thousandSeparator={true}
prefix={"€"}
/>
</span>
</div>
))}
</div>
);
}