我正在使用打字稿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/