Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2022, 14:38   #1
svntxxmx
 
Регистрация: 16.12.2020
Сообщений: 8
По умолчанию JS React - Не могу достать ключ из api объекта

Код:
const course = {}
  let [currency, setCurrency] = React.useState({})
  useEffect(() => {
    fetch('https://www.cbr-xml-daily.ru/daily_json.js')
    .then(response => response.json())
    .then(json => setCurrency(json.Valute))
    .catch(e => console.error(e))
  }, [])
Получаю данные с api, а именно курсы валют, сейчас в стейте [currency] - валюты.

console.log(currency.USD) - выводит в консоль:

{
CharCode: "USD"
ID:"R01235"
Name:"Доллар США"
Nominal:1
NumCode:"840"
Previous:64.6078
Value:66.3474
}

Я хочу получить ключ "Value", с объекта currency.USD. Пишу console.log(currency.USD.Value), но в консоль выдается ошибка:

App.js:25 Uncaught TypeError: Cannot read properties of undefined (reading 'Value')
at App (App.js:25:1)
at renderWithHooks (react-dom.development.js:16175:1)
at mountIndeterminateComponent (react-dom.development.js:20913:1)
at beginWork (react-dom.development.js:22416:1)
at HTMLUnknownElement.callCallback (react-dom.development.js:4161:1)
at Object.invokeGuardedCallbackDev (react-dom.development.js:4210:1)
at invokeGuardedCallback (react-dom.development.js:4274:1)
at beginWork$1 (react-dom.development.js:27405:1)
at performUnitOfWork (react-dom.development.js:26513:1)
at workLoopSync (react-dom.development.js:26422:1)

Почему?


*Что интересно, если вместо ".then(json => setCurrency(json.Valute))", написать ".then(json => setCurrency(json.Valute.USD.Value)) " и если вывести в консоль стейт currency - то он нам выдает нужный ключ и его значение, а именно 66.3474
Без ошибок.
svntxxmx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
React + Electron, content security policy блокирует fetch запросы из компонента React к сторонним api vv_tomilin JavaScript, Ajax 0 29.10.2021 17:49
react/ react hook с Rxjs Luno_frontend JavaScript, Ajax 0 16.01.2021 19:51
Microsfot Visual Studio 2010 Не могу добавить новые подключения. Данный ключ отсутсвует в словаре finansist Общие вопросы .NET 4 02.08.2013 11:23