Rainbow logo
RainbowKit
2.2.10

Butang Sambungan Tersuai

Butang Sambungan Tersuai

Membuat Butang Sambungan Tersuai

Anda boleh menggunakan ConnectButton.Custom aras rendah untuk mencipta butang sambungan tersuai anda. Komponen ini memaparkan fungsi, yang merangkumi segala yang diperlukan untuk melaksanakan semula butang terbina dalam.

Pelaksanaan semula minimal butang terbina dalam akan kelihatan seperti ini:

import { ConnectButton } from '@rainbow-me/rainbowkit';
export const YourApp = () => {
return (
<ConnectButton.Custom>
{({
account,
chain,
openAccountModal,
openChainModal,
openConnectModal,
authenticationStatus,
mounted,
}) => {
// Note: If your app doesn't use authentication, you
// can remove all 'authenticationStatus' checks
const ready = mounted && authenticationStatus !== 'loading';
const connected =
ready &&
account &&
chain &&
(!authenticationStatus ||
authenticationStatus === 'authenticated');
return (
<div {...(!ready && { 'aria-hidden': true, 'style': { opacity: 0, pointerEvents: 'none', userSelect: 'none', }, })} >
{(() => {
if (!connected) {
return (
<button onClick={openConnectModal} type="button">
Connect Wallet
</button>
);
}
if (chain.unsupported) {
return (
<button onClick={openChainModal} type="button">
Wrong network
</button>
);
}
return (
<div style={{ display: 'flex', gap: 12 }}>
<button onClick={openChainModal} style={{ display: 'flex', alignItems: 'center' }} type="button" >
{chain.hasIcon && (
<div style={{ background: chain.iconBackground, width: 12, height: 12, borderRadius: 999, overflow: 'hidden', marginRight: 4, }} >
{chain.iconUrl && (
<img alt={chain.name ?? 'Chain icon'} src={chain.iconUrl} style={{ width: 12, height: 12 }} />
)}
</div>
)}
{chain.name}
</button>
<button onClick={openAccountModal} type="button">
{account.displayName}
{account.displayBalance
? ` (${account.displayBalance})`
: ''}
</button>
</div>
);
})()}
</div>
);
}}
</ConnectButton.Custom>
);
};

Props berikut dihantar ke fungsi render anda.

PropTypeDefault
accountobject | undefined
account.addressstring
account.balanceDecimalsstring | undefined
account.balanceFormattedstring | undefined
account.balanceSymbolstring | undefined
account.displayBalancestring
account.displayNamestring
account.ensAvatarstring | undefined
account.ensNamestring | undefined
account.hasPendingTransactionsboolean
PropTypeDefault
rantaianobject | undefined
rantaian.adaIkonboolean
rantaian.urlIkonstring | undefined
rantaian.latarBelakangIkonstring | undefined
rantaian.idnumber
rantaian.namastring | undefined
rantaian.tidakDisokongboolean | undefined
PropTypeDefault
bukaModalAkaun() => void
bukaModalRantaian() => void
bukaModalSambungan() => void
modalAkaunBukaboolean
modalRantaianBukaboolean
modalSambunganBukaboolean
PropTypeDefault
dipaparkanboolean
statusPengesahan"loading" | "unauthenticated" | "authenticated" | undefined