首页 > 解决方案 > 如何在 Typescript 中将 import 语句与 import all 语句结合起来?

问题描述

我有以下import使用 Typescript 的语句:

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

打字稿抱怨我应该结合这些多个进口。我尝试了以下方法,但是MouseEvent导入的不同:

import MouseEvent, * as React from 'react'

在此组合导入语句中, 与MouseEvent通过 导入的不同import { MouseEvent } from 'react'

出于某种原因,Typescript 承认MouseEventinimport { MouseEvent } from 'react'接受类型泛型,但MouseEventinimport MouseEvent, * as React from 'react'不接受。

如何组合导入语句,同时仍保留MouseEventwhich 具有泛型?

标签: javascriptreactjstypescriptimport

解决方案


TypeScript 不能抱怨这些 import 语句,因为它们是正确的。可以抱怨它们并导致错误的是 TSLint。

没有办法将它们缩短为一行。一种常见的方法是使用 React 还提供的默认导出:

import React, { MouseEvent } from 'react'

一个缺点是包完全导入到包中,不能使用摇树。

一个安全的方法是:

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

如果这导致 TSLint 错误,则需要禁用相应的规则。


推荐阅读