我正在使用打字稿2.6.1。我正在使用react-table并且在其index.js文件中声明:

import defaultProps from './defaultProps'
import propTypes from './propTypes'

export const ReactTableDefaults = defaultProps
export default class ReactTable extends Methods(Lifecycle(Component)) ...


在我的typescript文件中,我想使用ReactTableDefaults成员,但是我不知道如何访问它。我已经导入了在@ types / react-table / index.d.ts文件中定义的反应表类型。当我尝试访问ReactTableDefaults时,intellij找不到它。有人可以帮我找到正确的进口声明吗?

import ReactTable, {Column as RTColumn} from 'react-table'; //gets stuff from index.d.ts
import RT = require('react-table'); // can only see 'default'


我也尝试过

import ReactTableDefaults from 'react-table';


但是ts transpiler只是说找不到ReactTableDefaults。

编辑:ReactTableDefaults未在index.d.ts文件中定义。我正在尝试从模块文件中获取它。

最佳答案

如果要获取ReactTableDefaults下的外部定义,请执行以下操作:

import * as ReactTableDefaults from 'react-table';


之后,您可以像ReactTableDefaults.myAttribute那样访问它。

但请注意:

这可能会导致不良影响:如果导入的源包含一个属性,例如您要导入的as,则需要像ImportedAsThisName.ImportedAsThisName这样访问它,即:

import * as MyLib from 'my-lib'
//assuming that the "MyLib" library had an attribute like "methodA" you'd access it like MyLib.methodA


但请想象以下情况:

import * as methodA from "my-lib"


要访问methodA属性,您现在需要执行以下操作:

methodA.methodA()


我希望这是清楚的。

关于javascript - 如何使用TypeScript导入JavaScript中的导出常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48627529/

10-11 23:40