useAccounts
The useAccounts
hook retrieves a list of connected accounts the dApp authorizes.
Live Editor
function withProviders( Component: React.FunctionComponent<object>, walletProviderProps?: Omit<ComponentProps<typeof WalletProvider>, 'children'>, ) { // Work around server-side pre-rendering const queryClient = new QueryClient(); const networks = { testnet: { url: getFullnodeUrl('testnet') }, }; return () => { const [shouldRender, setShouldRender] = useState(false); useEffect(() => { setShouldRender(true); }, [setShouldRender]); if (!shouldRender) { return null; } return ( <QueryClientProvider client={queryClient}> <IotaClientProvider networks={networks}> <WalletProvider {...walletProviderProps}> <Component /> </WalletProvider> </IotaClientProvider> </QueryClientProvider> ); }; } const UseAccountsExample = withProviders(() => { const accounts = useAccounts(); return ( <div style={{ padding: 20 }}> <ConnectButton /> <h2>Available accounts:</h2> {accounts.length === 0 && <div>No accounts detected</div>} <ul> {accounts.map((account) => ( <li key={account.address}>- {account.address}</li> ))} </ul> </div> ); }); render(<UseAccountsExample/>)
Result
Loading...
Account properties
address
: The address of the account, corresponding with a public key.publicKey
: The public key of the account, represented as aUint8Array
.chains
: The chains the account supports.features
: The features the account supports.label
: An optional user-friendly descriptive label or name for the account.icon
: An optional user-friendly icon for the account.
Feedback Form