TypeScript中如何同时将对象导入为类型与值?
解决TypeScript中同时使用类型与值的重复导入问题
你当前的错误是因为重复导入了PublicKey——一次作为类型导入,一次作为值导入,导致标识符冲突。
可以通过在同一import语句中区分类型与值的方式解决:对仅作为类型使用的成员添加type前缀,需要作为值(比如构造函数)使用的成员直接导入,这样就能同时满足类型标注和值调用的需求。修改后的代码如下:
import { type Connection, type Keypair, PublicKey } from "@solana/web3.js";
这样处理后:
Connection和Keypair仅用于类型标注,用type前缀明确为类型导入PublicKey既可以作为类型(比如const pubkey: PublicKey = ...),也可以作为值调用其构造函数(比如new PublicKey("xxx")),不会再出现重复标识符的错误。
内容的提问来源于stack exchange,提问作者mikemaccana
相关产品推荐
相关产品推荐

