VSCode不会从Next.js项目中的“react”自动导入

yqhsw0fo  于 2022-11-23  发布在  Vscode
关注(0)|答案(4)|浏览(177)
    • 不是this question的副本;这里的公认答案是针对TypeScript的,似乎不适用于JavaScript。*

我正在Visual Studio Code中处理Next.js项目,当尝试从"react"自动导入任何内容时,唯一的自动导入建议来自"react.production.min""react.development"
我可以从"react"手动导入,但是即使文件中已经有了import { ... } from "react"语句,它仍然不会出现在自动导入建议中,手动导入我使用的每个钩子可能会变得相当乏味。

有办法解决这个问题吗?

vnjpjtjt

vnjpjtjt1#

对我来说,安装@types/react修复了这个问题。

8yparm6h

8yparm6h2#

如果您使用的是typeScript,则只需在next-env.d.ts中添加以下单行代码

/// <reference types="@types/react" />
0lvr5msh

0lvr5msh3#

只是为了澄清一下,由于我还不能发表评论,我也能够通过安装react types包(我全局安装的)来解决React JavaScript(而不是TypeScript)应用程序的问题,方法是执行以下命令:

npm i @types/react -g

现在,当我开始输入像useState这样的钩子时,我会得到一个正确建议的列表。list of React suggestions
至于为什么会出现此问题,请参阅VSCode JavaScript文档:
JavaScript程式库和架构的IntelliSense是由TypeScript型别宣告(型别)档案所提供。型别宣告档案是以TypeScript撰写,因此它们可以表示参数和函式的数据型别,让VS程式码以高效能的方式提供丰富的IntelliSense经验。
VSCode JavaScript文档
因此,无论出于什么原因,如果尚未安装React的类型,则需要安装它们。

lfapxunr

lfapxunr4#

从最初帖子的顶部注解来看,我假设最初的发帖者使用的是Javascript而不是Typescript。如果是这样的话,在我的项目根目录下添加一个jsconfig.json文件,并使用以下设置:

{
  "compilerOptions": {
    "baseUrl": ".",
    "checkJs": true,
    "jsx": "preserve"
  }
}

相关问题