Можно ли указать глобальные типизации в JSX? - PullRequest
0 голосов
/ 16 марта 2020

Я использую Preact в проекте, но я настроил настройку так, чтобы мне не приходилось все время import { h } from 'preact'. Проблема, однако, в том, что preact.d.ts не берется, если я не импортирую его, и вместо атрибутов Preact для html я получаю глобальные атрибуты React:

enter image description here

С preact импортировано:

enter image description here

Я знаю, что это не имеет значения, но я хотел чтобы получить доступ к некоторым атрибутам Preact, а не глобальным React. Можно ли указать на node_modules/preact/index.d.ts через какой-то конфиг? Я не использую машинописный текст как язык или сам компилирую, только VSCode.

1 Ответ

2 голосов
/ 16 марта 2020

VSCode не знает, как использовать ваши преакты. Вы должны добавить файл jsconfig. json в root вашего проекта (https://code.visualstudio.com/docs/languages/jsconfig), где вы указываете свой jsxFactory (это опция компилятора TS, которую vscode использует https://www.typescriptlang.org/docs/handbook/compiler-options.html)

{
  "compilerOptions": {
    "jsx": "react",
    "jsxFactory": "h",
  },
  "exclude": [
    "node_modules",
    "**/node_modules/*"
  ]
}
...