VSCode — шаблон TypeScript «невозможно найти имя <элемент>»

Обновление 1. Я заметил, что ошибка относится только к первому файлу .tsx, открытому в VSCode. Какой бы файл ни был открыт первым, запускается IntelliSense, а затем отображается ошибка. Все остальные файлы работают нормально.

Я выполнил новую установку VSCode и Node. Затем я бегу npx create-react-app my-app-test --template typescript. Более старые проекты, которые работали в прошлом (2 недели назад), также имеют эту ошибку, которой раньше не было.

Иногда это работает, но проблема сохраняется, когда я создаю новый файл. Перезагрузка VSCode не решает проблему, и ошибка возвращается к ранее нормальному файлу.

При компиляции кода ошибок нет. Однако я получаю следующую ошибку в vscode.

Не могу найти имя 'div'.ts(2304)

Каким оно должно быть

Что я пробовал:

  • переустановить vscode, узел, npm
  • изменены версии машинописного текста в vscode
  • разные каталоги на ПК
  • очистка кэша npm
  • запустить vscode без расширений

Версии:

  • tsc -v -> Версия 5.4.4
  • узел -v -> v20.12.1
  • vscode -> 1.88
  • vscode tsc -> 5.4.3
  • ОС->W10

цконфигурация

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": [
    "src"
  ]
}

пакет.json

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@emotion/react": "^11.11.4",
    "@mui/material": "^5.15.14",
    "@reduxjs/toolkit": "^2.2.3",
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/jest": "^27.5.2",
    "@types/node": "^16.18.94",
    "axios": "^1.6.8",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-redux": "^9.1.0",
    "react-router-dom": "^6.22.3",
    "react-scripts": "5.0.1",
    "redux-persist": "^6.0.0",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react": "^18.2.74",
    "@types/react-dom": "^18.2.24",
    "typescript": "^4.9.5"
  }
}


Пожалуйста, покажите первую строку объявления вашей функции.

Codebling 04.04.2024 23:53

Не могли бы вы также попробовать добавить import React from 'react'; вверху файла.

Codebling 04.04.2024 23:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
2
95
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно объявление типа.

Бегать:

npm install -D @types/react @types/react-dom

или эквивалент в предпочитаемом вами менеджере пакетов

Я пробовал это, но это не работает. Я добавил некоторые новые детали в свой пост.

jsilber 04.04.2024 23:09

Если вы поделитесь репозиторием с репродукцией, я посмотрю.

Ahmed Abdelbaset 04.04.2024 23:20

Другие вопросы по теме