簡體   English   中英

如何在Typescript中將import語句與import all語句組合?

[英]How to combine import statements with an import all statement in Typescript?

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

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

Typescript抱怨我應該合並這些多個導入。 我嘗試了以下操作,但是導入的MouseEvent是不同的:

import MouseEvent, * as React from 'react'

在此組合的import語句中, MouseEvent與通過import { MouseEvent } from 'react'不同。

出於某種原因,打字稿認識到MouseEventimport { MouseEvent } from 'react'接受類型仿制葯,但MouseEventimport MouseEvent, * as React from 'react'不。

我如何合並導入語句,同時又保留具有泛型的MouseEvent

TypeScript不能抱怨這些導入語句,因為它們是正確的。 TSLint可以抱怨它們並導致錯誤。

無法將它們縮短為一行。 一種常見的方法是使用React還提供的默認導出:

import React, { MouseEvent } from 'react'

不利的一面是,該包裝已完全導入捆綁包中,無法利用搖樹的作用。

一種安全的方法是:

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

如果這會導致TSLint錯誤,則需要禁用相應的規則。

當您使用import * as React from 'react' ,您會將整個模塊導入一個名為React變量中。 因此,您可以訪問MouseEvent通過React命名空間: React.MouseEvent 由於您已經將所有內容都導入到單個變量中,因此您不能再導入特定內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM