ค้นหาเว็บไซต์

reactjs - VSCode - แม่แบบ TypeScript "ไม่พบชื่อ "


อัปเดต 1: ฉันสังเกตเห็นว่าข้อผิดพลาดนั้นเกิดขึ้นเฉพาะกับไฟล์ .tsx แรกที่เปิดใน VSCode ไม่ว่าไฟล์ใดจะถูกเปิดก่อน IntelliSense จะทำงานแล้วจึงแสดงข้อผิดพลาด ไฟล์อื่น ๆ ทำงานได้ปกติ

ฉันได้ทำการติดตั้ง VSCode และ Node ใหม่ จากนั้นฉันก็รัน npx create-react-app my-app-test --template typescript โครงการเก่าที่เคยใช้งานได้เมื่อ 2 สัปดาห์ที่แล้วก็มีข้อผิดพลาดนี้ด้วย ซึ่งก่อนหน้านี้ไม่เคยเกิดขึ้น

บางครั้งมันใช้งานได้ แต่ปัญหาก็ยังคงอยู่เมื่อฉันสร้างไฟล์ใหม่ การรีโหลด VSCode ไม่ได้แก้ปัญหา และข้อผิดพลาดกลับไปยังไฟล์ที่เคยใช้ได้

เมื่อโค้ดถูกคอมไพล์ จะไม่มีข้อผิดพลาดใดๆ อย่างไรก็ตามฉันได้รับข้อผิดพลาดต่อไปนี้ใน vscode

ไม่พบชื่อ 'div'.ts(2304)

มันควรจะเป็นอะไร

สิ่งที่ฉันได้ลอง:

  • ติดตั้ง vscode, node, npm ใหม่
  • เปลี่ยนเวอร์ชัน TypeScript ใน VSCode
  • ไดเร็กทอรีที่แตกต่างกันบนคอมพิวเตอร์
  • ล้างแคชของ npm
  • รัน vscode โดยไม่ใช้ส่วนเสริม

เวอร์ชัน :

  • tsc -v -> เวอร์ชัน 5.4.4
  • node -v -> v20.12.1
  • vscode -> 1.88
  • vscode tsc -> 5.4.3
  • ระบบปฏิบัติการ -> วินโดวส์ 10

tsconfig

{
  "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"
  ]
}

package.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"
  }
}


คำตอบ #1

คุณต้องการการประกาศประเภท

วิ่ง :

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

หรือเทียบเท่าในตัวจัดการแพ็กเกจที่คุณชื่นชอบ