Как получить доступ к подкомпонентам API в CoinGecko

#javascript #html #reactjs #coingecko

Вопрос:

Это часть кода, возвращаемого API CoinGecko.

 {
  "id": "bitcoin",
  "symbol": "btc",
  "name": "Bitcoin",
  },
  "image": {
    "thumb": "https://assets.coingecko.com/coins/images/1/thumb/bitcoin.png?1547033579",
    "small": "https://assets.coingecko.com/coins/images/1/small/bitcoin.png?1547033579"
  },
  "market_data": {
    "current_price": {
      "aed": 26429.239288693556,
      "ars": 430563.0457102599,
      "aud": 10256.814195551682,
      "bch": 35.13945542496315,
      "bdt": 610699.0910671571,
      "bhd": 2712.9039956563156,
      "bmd": 7195.153895430029,
      "bnb": 524.566548150439,
      "brl": 28924.295609858014,
      "btc": 1
 

Используя Reactjs, я пытаюсь получить доступ к канадской цене биткоина в разделе «рыночные данные» и «current_price». Я могу успешно получить доступ к «идентификатору», но я не могу получить доступ к содержимому в разделе «изображение» или «данные о рынке». Я не уверен, правильно ли я использую обозначения. Это неудачный код.

 <h1> {data.id} </h1>
<h1> {data.symbol} </h1>
<h1> {data.market_data.current_price.cad} </h1> 
 

Это 2 ошибки, возвращенные с консоли.

Неперехваченная ошибка типа: Не удается прочитать свойство «current_price» неопределенного

 The above error occurred in the <StockCrypto> component:

    at StockCrypto (http://localhost:3000/react-CryptoMarket/static/js/main.chunk.js:1332:81)
    at div
    at CryptoStockPage
    at Route (http://localhost:3000/react-CryptoMarket/static/js/vendors~main.chunk.js:59298:29)
    at Switch (http://localhost:3000/react-CryptoMarket/static/js/vendors~main.chunk.js:59500:29)
    at Router (http://localhost:3000/react-CryptoMarket/static/js/vendors~main.chunk.js:58933:30)
    at BrowserRouter (http://localhost:3000/react-CryptoMarket/static/js/vendors~main.chunk.js:58553:35)
    at div
    at App

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

 

Комментарии:

1. Обозначение действительно правильное, хотя ваша ошибка подразумевает, что market_data это неверный ключ на том же уровне, id что и . Предполагая, что ваш код в точности совпадает с тем, что опубликовано выше, он должен работать — возможно, дважды проверьте, не допустили ли вы опечатку.

2. Спасибо за проверку. По какой-то причине запрос рыночной цены иногда срабатывает, а иногда нет. Я либо получаю ошибку, либо цена отображается на экране правильно. Знаете ли вы, что может быть причиной этого несоответствия?