我正在使用
react-native
和 react-native-web
,并使用 html DOM 元素而不是 React Native 组件编写一些代码(<div/>
而不是 <View/>
)。
为了正确输入它们,我将
'DOM'
添加到 tsconfig.compilerOptions.lib
:
"compilerOptions": {
...
"lib": [
"ES6",
"ES2021.String",
"DOM" // <---
],
...
}
但是,我有很多全局类型可能会破坏我的代码并导致崩溃,例如
Image
可以在不从 react-native
导入的情况下使用:
const SomeFC = () => {
// no error here because Image type is global in DOM
// but got crash in runtime
return <Image />
}
我想覆盖特定文件的库设置,如下所示:
// Here is the beginning for some file:
// @ts-config lib: ['DOM']
或者找到一种从全局中删除 DOM 类型并在必要时导入它们的方法:
import {Image, HTMLDivElement} from 'html-dom'
或者至少选择我需要的全局类型,或者删除我不需要的全局类型。
你找到解决办法了吗? 我找了很久但是好像没有答案。