导入接口成员的类型

时间:2019-06-19 06:18:16

标签: typescript react-native native-base

我正在尝试创建一个Props类型以与React组件一起使用。我正在使用NativeBase,并且此特定组件包含一个属性,该属性直接作为其Icon属性传递给style组件。因此,我认为我的属性需要一个Icon.style类型。我想使用here中所述的TypeScript的import()语法导入类型。

这里是NativeBase的index.d.tshttps://github.com/GeekyAnts/NativeBase/blob/master/index.d.ts。对我来说重要的部分可以简化为:

namespace NativeBase {
    interface Icon extends Testable {
        style?: any;
    }
}

(我知道styleany,所以它现在不会做很多事情。我希望以后在NativeBase端进行更改)。

这就是我想要做的:

type Props = {
  iconStyle: import('native-base').NativeBase.Icon.style
}

但是,我收到此错误:

Namespace '"native-base".NativeBase' has no exported member 'Icon'.any

但是,我可以做import('native-base').NativeBase.Icon(删除.style)而没有任何错误。

我正在使用TypeScript 3.4.5。这是我的tsconfig.json

{
  "compilerOptions": {
    "noEmit": true,
    "lib": ["dom", "esnext"],
    "jsx": "react-native",
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
    "skipLibCheck": true
  }
}

如何正确导入Icon接口的style类型以在自己的代码库中使用?

0 个答案:

没有答案