Reactjs 可以在JSX中指定全局类型吗?

Reactjs 可以在JSX中指定全局类型吗?,reactjs,typescript,visual-studio-code,typescript-typings,preact,Reactjs,Typescript,Visual Studio Code,Typescript Typings,Preact,我在项目中使用了Preact,但是我已经配置了设置,这样我就不必一直从“Preact”导入{h}。然而,问题是,如果我不导入它,preact.d.ts就不会被拾取,我接收的不是html的preact属性,而是global React的属性: 导入preact后: 我知道这似乎无关紧要,但我想访问Preact的一些属性,而不是global React的属性。是否可以通过某种配置指向节点模块/preact/index.d.ts?我不使用typescript作为语言或编译本身,只使用VSCode。

我在项目中使用了Preact,但是我已经配置了设置,这样我就不必一直从“Preact”导入{h}。然而,问题是,如果我不导入它,
preact.d.ts
就不会被拾取,我接收的不是html的preact属性,而是global React的属性:

导入
preact
后:


我知道这似乎无关紧要,但我想访问Preact的一些属性,而不是global React的属性。是否可以通过某种配置指向节点模块/preact/index.d.ts?我不使用typescript作为语言或编译本身,只使用VSCode。

VSCode不知道如何使用您的预打字。您应该在项目()的根目录下添加一个jsconfig.json文件,在这里您可以指定jsxFactory(vscode使用的是TS编译器选项)


VSCode不知道如何使用您的预打字。您应该在项目()的根目录下添加一个jsconfig.json文件,在这里您可以指定jsxFactory(vscode使用的是TS编译器选项)


但它确实知道。您如何解释它在没有配置的情况下拾取属性的事实?它默认为React,并使用您的导入来推断preact当我将jsx设置为
preact
时,它变为
值不被接受。有效值:“保留”、“反应”、“反应本机”。(1)
:(因此,基本上,我想做的是不可能的…无论如何,你应该将jsx Factory设置为h,而不是jsx设置为'preact',但它确实知道。你如何解释它在没有配置的情况下拾取属性的事实?它默认为React,并使用你的导入来推断preact。当我将jsx设置为
preact
时,它变为
值不接受。)ed.有效值:“保留”、“反应”、“反应本机”。(1)
:(因此,基本上,我不可能想做什么…无论如何,要回答这个问题,您应该将jsxFactory设置为h,而不是将jsx设置为'preact'
{
  "compilerOptions": {
    "jsx": "react",
    "jsxFactory": "h",
  },
  "exclude": [
    "node_modules",
    "**/node_modules/*"
  ]
}