帖子
分享您的知识。
How to stop Auto-reconnect with SuiWallet using dapp-kit?
I'm working on a bridge app between Ethereum and Sui using MetaMask and SuiWallet. I've managed to get the connection part working. However, when I try to disconnect from the SuiWallet, the app automatically reconnects. I'm using dapp-kit for this project. I'm curious if anyone else has faced this issue and how to resolve the auto-reconnect problem?
- Sui
答案
5Yeah, this is a pretty common hiccup with dapp-kit. It usually stems from the wallet's connection state being persisted in local storage. When you disconnect, dapp-kit might still find a cached connection, causing it to auto-reconnect. Try explicitly clearing the relevant items from localStorage
(look for keys starting with sui-wallet-
or similar connection identifiers) right after you call wallet.disconnect()
. That usually does the trick.
To stop auto-reconnect with SuiWallet using dApp-kit, you need to manage the wallet connection state manually. Here's a possible approach:
Use the useCurrentWallet
hook
You can utilize the useCurrentWallet
hook from @mysten/dapp-kit
to detect when the wallet is disconnected and prevent auto-reconnect.
import { useCurrentWallet } from '@mysten/dapp-kit';
function App() { const wallet = useCurrentWallet();
if (!wallet) { // Wallet is disconnected, prevent auto-reconnect } } Manual Connection Management
Another approach is to manually manage the connection state using the WalletProvider
and useWallet
hook.
import { WalletProvider, useWallet } from '@mysten/dapp-kit';
function App() { const { connected, disconnect } = useWallet();
if (connected) { // Wallet is connected, handle disconnect logic } } Disconnect Logic
When disconnecting from the SuiWallet, ensure you're calling the correct disconnect function. In dApp-kit, this can be achieved using the disconnect
function from the useWallet
hook.
import { useWallet } from '@mysten/dapp-kit';
function App() { const { disconnect } = useWallet();
const handleDisconnect = async () => { await disconnect(); // Additional logic to prevent auto-reconnect }; } By implementing these approaches, you should be able to prevent auto-reconnect with SuiWallet using dApp-kit. If issues persist, consider exploring alternative wallet connection toolkits like Suiet Wallet Kit ¹.
你知道答案吗?
请登录并分享。
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.