Publication
Partagez vos connaissances.
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
Réponses
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.
Vous pouvez vérifier les modules dapp-kit et y rechercher une option pour désactiver la fonction de connexion automatique.
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 ¹.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gagne ta part de 1000 Sui
Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.
- Pourquoi BCS exige-t-il un ordre de champs exact pour la désérialisation alors que les structures Move ont des champs nommés ?65
- Comment maximiser la détention de profits SUI : Sui Staking contre Liquid Staking514
- « Erreurs de vérification de sources multiples » dans les publications du module Sui Move - Résolution automatique des erreurs55
- Erreur Sui Move - Impossible de traiter la transaction Aucune pièce de gaz valide n'a été trouvée pour la transaction419
- Échec de la transaction Sui : objets réservés pour une autre transaction49