You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React解构不同第三方Hook同名publicKey重复声明报错解决

报错原因

你遇到的重复声明报错是对象解构重命名语法使用错误导致的,两种尝试的写法均不符合JS语法规则:

  • {publicKey as pK}:as是TypeScript的类型断言关键字,仅用于标注变量类型,没有重命名作用,在解构场景下属于非法写法
  • {pK : publicKey}:解构重命名的映射方向写反了,该写法的实际逻辑是「从返回对象中读取pK属性,赋值给名为publicKey的变量」,既无法拿到目标属性,也没有解决重名问题
正确实现方式

JavaScript对象解构的重命名语法规则为:{ 原属性名: 自定义新变量名 },即冒号左侧是Hook返回对象里的原始属性名,右侧是你要声明的、不重名的自定义变量。
建议给两个不同来源的publicKey起语义化的别名,不要用过于模糊的缩写(比如pK),避免后续维护时混淆变量归属。
修正后的可运行代码:

import { useWallet} from "@solana/wallet-adapter-react";
import { useMoralis } from "react-moralis";

export const SendOneLamportToRandomAddress = () => {
   // 将useWallet返回的publicKey重命名为walletPublicKey
   const { publicKey: walletPublicKey, sendTransaction } = useWallet();
   // 将useMoralis返回的publicKey重命名为moralisPublicKey
   const { publicKey: moralisPublicKey } = useMoralis();

   // 后续业务逻辑直接使用对应别名即可
}

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:36:16