Skip to content

<WalletProvider>

<WalletProvider> は、埋め込みウォレット用の React コンテキストプロバイダ です。

tsx
// src/index.tsx
import { createWallet } from '@money-sdk/core'
import { WalletProvider } from '@money-sdk/react'

const wallet = createWallet(/* ... */)

function Root() {
  return (
    <WalletProvider wallet={wallet}>
      <App />
    </WalletProvider>
  )
}

リファレンス

props.wallet

createWallet によって返される、初期化済みのウォレットです。

フック

以下のフックは @money-sdk/react からエクスポートされており、必ず <WalletProvider> の内側で呼び出す必要があります。

useWallet()

プロバイダに渡された Wallet インスタンスを返します。ウィジェットの外部で getProviderdisconnectexperimental_expand のようなメソッドを呼び出す 必要がある場合に使用します。

tsx
import { useWallet } from '@money-sdk/react'

function ConnectButton() {
  const wallet = useWallet()

  const handleClick = async () => {
    const solana = await wallet.getProvider('solana')
    await solana?.connect()
  }

  return <button onClick={handleClick}>Connect</button>
}

useConnected()

ユーザーがあなたの dApp にウォレットを接続しているかどうかを示す真偽値を 返します。UI のゲーティングに便利です。

tsx
import { useConnected } from '@money-sdk/react'

function App() {
  const connected = useConnected()

  return connected ? <Dashboard /> : <Landing />
}

useObservable(observable)

ウォレットインスタンスが公開する内部の observable をサブスクライブするための 低レベルフックです。通常は直接使う必要はありません — 接続状態には useConnected を優先してください。