我试图解决的问题
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';
不是有效的语法。
问题
如何使用命名空间导入和部分导入
来实现单行程序答案 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'
更为自然。