typescript:名称空间导入+特定导入

时间:2018-02-24 20:12:11

标签: javascript reactjs typescript

我试图解决的问题

import * as React from 'react'; import {Component} from 'react';

我不喜欢它是两条线 - 坦率地说,我的linter设置甚至不允许它。

但写下以下内容 import * as React from 'react'; const Component = React.Component; 对我而言看起来不太好 - 因为我会有进口和常规的延伸 - 这实际上是进口

在非TS语法中,上述行可能是

import React, {Component} from 'react';

这就是我要找的,但是

import * as React, {Component} from 'react'; 不是有效的语法。

问题

如何使用命名空间导入和部分导入

来实现单行程序

1 个答案:

答案 0 :(得分:3)

从TypeScript 2.7开始,您可以在esModuleInterop中启用tsconfig.json以启用import React, { component } from 'react'

import * as React from 'react'有一个特定的含义,即获取模块react的模块命名空间对象。 当它获取模块中的所有内容时,使用React.component然后再使用component提取import { component } from 'react'更为自然。