Получение ожидаемого присваивания или вызова функции и вместо этого увидел выражение no-unused-expressions при импорте файла в React

#javascript #reactjs

#javascript #reactjs

Вопрос:

У меня есть файл data.js которое содержит только массив объектов и ничего больше, точно так же, как следующее

 [{"id":"1122","name":"foo","price":"2.000"}, {"id":"1133","name":"bar","price":"7.000"}]
  

The data.js файл находится в том же каталоге, где расположен мой основной компонент. И я импортирую его следующим образом:

 import Data from "./data";
  

Но я всегда получаю следующую ошибку:

./src/components/data.js Строка 1: Ожидал присваивания или вызова функции и вместо этого увидел выражение no-unused-expressions

Я думаю, что проблема в data.js сам файл. потому что это не функция и не класс. Но мне не разрешено вносить какие-либо изменения в файл.

Ответ №1:

Ваш data.js в данный момент фактически ничего не экспортирует, поэтому компоновщик думает, что вы объявили массив в этом файле, который впоследствии нигде не используется. Попробуйте вместо этого экспортировать массив, чтобы его можно было импортировать без проблем с компоновкой:

 export default [{"id":"1122","name":"foo","price":"2.000"}, {"id":"1133","name":"bar","price":"7.000"}];
  

Если вы не хотите, чтобы файл содержал синтаксис Javascript, тогда не используйте .js расширение файла и проанализируйте JSON после импорта для преобразования в массив:

 import Data from "./data";
const arr = JSON.parse(Data);
  

https://codesandbox.io/s/4x3756pqk0