Top.Mail.Ru
Ответы

Нужна помощь с JavaScript кодом. Не срабатывает изменение элемента пока не пересохраню react документ. JS

Проблема следующая: сверстал на React простенький сайт (курсы валют), подключил js файл с логикой, в которой беру API, нахожу нужные валюты, беру у них стоимость и заменяю какой-то текст. В консоли при перезагрузке страницы показывает, что я успешно взял данные с API, однако текст остается прежним до тех пор, пока я не сохраню js файл, после чего происходит замена "--.--" на актуальный курс. При перезагрузке страницы снова все слетает и приходится снова пересохранять скрипт, чтобы произошла замена, хотя в самом скрипте ничего не меняю, просто сохраняю его. То есть все работает как надо, но для этого после загрузки страницы надо пересохранить файл со скриптом (setInterval пробовал - не помогло). Как это исправить? Код прикреплю ниже.

По дате
По Рейтингу
Аватар пользователя
Новичок

Не увидел здесь React'a.
const result = await data; - лишнее.
Вы эту функцию в render'е компонента вызываете? Залейте, пожалуйста, весь код куда-нибудь (или весь код, который используется для рендеринга).
P. S. Почитайте про SOLID
P. P. S. Оставьте функцию getCurrencies условно чистой. Пусть она делает фетч и возвращает данные в нужном формате (не нужно мутировать какие-то переменные вне тела этой функции). А уже в самом реакт-компоненте вызовите ее в нужном месте (или вынесите в отдельный хук), заберите из нее данные и отрисуйте. Реакт - это про реактивность, а не мутирование DOM-элементов напрямую в обход жизненного цикла