Skip to content

useConnectionEffect

Hook for listening to connection lifecycle events.

Import

ts
import { useConnectionEffect } from 'wagmi'

Usage

tsx
import { useConnectionEffect } from 'wagmi'

function App() {
  useConnectionEffect({
    onConnect(data) {
      console.log('Connected!', data)
    },
    onDisconnect() {
      console.log('Disconnected!')
    },
  })
}
ts
import { createConfig, http } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'

export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})

Parameters

ts
import { type UseConnectionEffectParameters } from 'wagmi'

config

Config | undefined

Config to use instead of retrieving from the nearest WagmiProvider.

tsx
import { useConnectionEffect } from 'wagmi'
import { config } from './config'

function App() {
  useConnectionEffect({
    config,
    onConnect(data) {
      console.log('Connected!', data)
    },
    onDisconnect() {
      console.log('Disconnected!')
    },
  })
}
ts
import { createConfig, http } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'

export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})

onConnect

((data: { address: `0x${string}`; addresses: readonly [`0x${string}`, ...`0x${string}`[]]; chain: Chain | undefined chainId: number; connector: Connector; isReconnected: boolean }) => void) | undefined

Callback that is called when connection is made.

tsx
import { useConnectionEffect } from 'wagmi'

function App() {
  useConnectionEffect({
    onConnect(data) {
      console.log('Connected!', data)
    },
  })
}
ts
import { createConfig, http } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'

export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})

onDisconnect

(() => void) | undefined

Callback that is called when there no more connections.

tsx
import { useConnectionEffect } from 'wagmi'

function App() {
  useConnectionEffect({
    onDisconnect() {
      console.log('Disconnected!')
    },
  })
}
ts
import { createConfig, http } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'

export const config = createConfig({
  chains: [mainnet, sepolia],
  transports: {
    [mainnet.id]: http(),
    [sepolia.id]: http(),
  },
})

Action

Released under the MIT License.