javascript - 如何使用 typescript 导入 javascript 中导出的 const

标签 javascript typescript import

我使用的是 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/

相关文章:

javascript - CKeditor 无法正常工作

javascript - 如何在对象数组中找到所有具有 ID 的记录?

typescript - 引用路径不使用导入捕获接口(interface) - IntelliJ

typescript - 在 addEventListener 的回调中接收到的事件怎么可能为空?

c# - 在 Typescript 中声明委托(delegate)类型

Golang本地导入

r - 如何避免 : read. 表截断以 0 开头的数值

javascript - 如何使用 d3.js 为圆环图中的数据创建标签

java - 导入 csv 文件以填充 Netbeans 中表中的数据

javascript - 你能在 JavaScript 中找到 Mod 2Pi 的东西吗?