«Navbar относится к значению, но здесь используется как тип» при попытке отобразить неглубокую копию моего компонента прJavascript

Форум по Javascript
Ответить
Гость
 «Navbar относится к значению, но здесь используется как тип» при попытке отобразить неглубокую копию моего компонента пр

Сообщение Гость »


Я пытаюсь написать тест для своего компонента React, используя TypeScript, Jest в качестве средства запуска тестов и Enzyme для тестирования моих компонентов React. Всякий раз, когда я передаю свой компонент в функцию shallow Enzyme, я получаю ошибку ts: «Navbar» относится к значению, но здесь используется как тип.», а под ней я получаю ошибку eslint « Ошибка синтаксического анализа: ожидается '>'».

Я пробовал это на некоторых других компонентах, все они имеют одну и ту же ошибку при передаче в функцию shallow в качестве аргументов. Я подозреваю, что это может иметь какое-то отношение к моим конфигурациям TS, но, хоть убей, я не могу найти решение.

Вот код Navbar.tsx:

импортировать React из 'реагировать'; импортировать {мелко} из "фермента"; импортировать Navbar из «./Navbar»; описать('Компонент навигационной панели', () => { пусть компонент; beforeEach(() => { компонент = мелко(); // Здесь отображается ошибка }); it('должно отрисовываться без ошибок', () => { ожидать (компонент).toMatchInlineSnapshot(); ожидать (компонент.длина).toBe(1); ожидать (компонент).toBeTruthy(); }); }); Также публикую свои файлы конфигурации:

tsconfig:

{ "Параметры компилятора": { "цель": "es5", "либ": [ "дом", "дом.итеративный", "эснекст" ], «allowJs»: правда, «skipLibCheck»: правда, «esModuleInterop»: правда, «allowSyntheticDefaultImports»: правда, «строгий»: правда, «forceConsistentCasingInFileNames»: правда, "модуль": "эснекст", "moduleResolution": "узел", «resolveJsonModule»: правда, «изолированныеМодули»: правда, «noEmit»: правда, "jsx": "реагировать" }, "parserOptions": { «ecmaVersion»: 6, "sourceType": "модуль", "ecmaFeatures": { «jsx»: правда } }, "включить": ["src/**/*"], "exclude": ["node_modules", "**/*.spec.ts", "**/*.test.ts"] } jest.config.ts:

module.exports = { корни: ['/src'], преобразовать: { '^.+\\.tsx?$': 'ts-jest', }, testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$', ModuleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], snapshotSerializers: ['энзим-в-json/сериализатор'], setupTestFrameworkScriptFile: '/src/setupEnzyme.ts', }; Настройка фермента:
import { configure } из «энзима»; импортировать адаптер из «enzyme-adapter-react-16»; импортировать «джест-фермент»; configure({ адаптер: новый адаптер(), отключитьLifecycleMethods:
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»