获取“类型‘Element’不可分配给类型‘ReactNode’。” 使用 Vite 创建 React 应用时

Ale*_*der 9 typescript react-typescript vite

我已经使用 Typescript 和 npm create vite@latest 创建了一个 React 应用程序。当我之前这样做时,一切都工作正常,但是当我今天这样做时,我收到错误:类型“Element”不可分配给类型“ReactNode”。类型“Element”不可分配给类型“ReactPortal”。

该页面在浏览器中运行良好,没有任何错误。

我正在使用 Visual Studio 代码版本:1.81.1 和 Typescript 版本 5.1.6。

当我打开过去运行良好的以前的项目时,这些错误也会出现。

我尝试更改 tsconfig.json 中的设置,例如 moduleResolution: bundler --> node,但没有帮助。

import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'

function App() {
  const [count, setCount] = useState(0)

  return (
    <>
      <div>
        <a href="https://vitejs.dev" target="_blank">
          <img src={viteLogo} className="logo" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react" alt="React logo" />
        </a>
      </div>
      <h1>Vite + React</h1>
      <div className="card">
        <button onClick={() => setCount((count) => count + 1)}>
          count is {count}
        </button>
        <p>
          Edit <code>src/App.tsx</code> and save to test HMR
        </p>
      </div>
      <p className="read-the-docs">
        Click on the Vite and React logos to learn more
      </p>
    </>
  )
}

export default App
Run Code Online (Sandbox Code Playgroud)

代码和错误的图像

Ayo*_*azi 13

将 devDependencies 中的“@types/react”升级到 18.2.25,如下所示:

"devDependencies": {
    ...
    "@types/react": "18.2.25",
    ...
  },
Run Code Online (Sandbox Code Playgroud)

同样就我而言,我也必须将相同的版本添加到“覆盖”,同时保留react-dom 18.2.0


小智 8

使用与项目中使用的 React 版本相同的版本添加"@types/react"到package.json 中,然后运行对我有帮助。如果它无法解决对等依赖关系,请尝试."devDependencies"npm inpm i --legacy-peers-deps