Почему при fetch локального JSON в React возникает ошибка “Unexpected token '<'”?
При попытке загрузить локальный JSON-файл с помощью fetch в React появляется ошибка:
Файлы расположены так же, как в примере на Hexlet. Как правильно вызвать fetch для локального JSON?
12 часов назад
Nikolai Gagarinov
Ответы
1
Ошибка возникает потому, что браузер не может напрямую читать файлы с файловой системы через fetch. Вместо JSON-файла возвращается HTML (например, страница 404 или index.html), поэтому парсер JSON видит < вместо {.
Как исправить
- Положите JSON-файл в папку
publicвашего React-приложения. Например:
- Используйте
fetchотносительно корняpublic:
В этом случае файл будет доступен по URL, и fetch сможет корректно прочитать JSON.
Альтернативно можно настроить Webpack/DevServer, чтобы он отдавал локальные файлы, но проще использовать public для статических ресурсов.
Ну и посмотрите пример настроенного приложения
12 часов назад
Nikolai Gagarinov