我使用的是 typescript 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 文件中定义的react-table 类型。当我尝试访问 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 转译器只是说找不到 ReactTableDefaults。
编辑:ReactTableDefaults 未在index.d.ts 文件中定义。我正在尝试从模块文件中获取它。
最佳答案
如果您想在 ReactTableDefaults
下获取可用的外部定义,请执行以下操作:
import * as ReactTableDefaults from 'react-table';
之后您可以像ReactTableDefaults.myAttribute
一样访问它。
但是注意:
这可能会导致意想不到的效果:如果导入的源包含类似于您导入的属性,您需要像 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 中导出的 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48627529/