Rainbow logo
RainbowKit
2.2.11

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 –