有各种教程教如何激活和停用 Metamask 钱包,或者一般来说可能是任何 CryptoWallet,但在所有这些教程中我都有同样的问题,如下所示:
当我停用我的帐户时,它仍然显示在 Metamask GUI 中您已连接,问题是当您重新加载页面时,您再次获得连接行为,就好像您从未断开连接一样,您可以通过以下代码示例自己验证:
使用 UseDapp 框架:
import React from 'react'
import { useEthers } from '@usedapp/core'
const TryUseDappExample = () => {
const { activateBrowserWallet, deactivate, account } = useEthers()
return (
<div>
{!account && <button onClick={activateBrowserWallet}> Connect </button>}
{account && <button onClick={deactivate}> Disconnect </button>}
{account && <p>Account: {account}</p>}
</div>
)
}
export default TryUseDappExample
请尝试点击连接 -> 断开连接 -> 重新加载页面,您会看到您仍然处于连接状态。
使用 Web3-react 教程提供了相同的场景,尽管当我重新加载页面时它没有显示钱包已连接,而是仅显示在 Metamask GUI 上。我的问题是一般性的,你如何正确断开 Metamask 钱包与 dapp 的连接?谢谢你!