Rainbow logo
RainbowKit
2.2.10

모달 훅스

모달 훅스

훅스를 통해 프로그래밍 방식으로 모달 열기

응용 프로그램에서 모달을 프로그래밍 방식으로 열 수 있도록 하기 위해 다음 훅스가 제공됩니다.

  • useConnectModal
  • useAccountModal
  • useChainModal

각각의 훅스는 관련 모달을 열기 위한 함수를 포함하는 객체를 반환합니다. 응용 프로그램이 모달을 열기에 필요한 상태가 아닌 경우, 반환된 함수는 정의되지 않습니다.

import { useConnectModal, useAccountModal, useChainModal, } from '@rainbow-me/rainbowkit';
export const YourApp = () => {
const { openConnectModal } = useConnectModal();
const { openAccountModal } = useAccountModal();
const { openChainModal } = useChainModal();
return (
<>
{openConnectModal && (
<button onClick={openConnectModal} type="button">
Open Connect Modal
</button>
)}
{openAccountModal && (
<button onClick={openAccountModal} type="button">
Open Account Modal
</button>
)}
{openChainModal && (
<button onClick={openChainModal} type="button">
Open Chain Modal
</button>
)}
</>
);
};

각 훅은 모달의 상태에 대한 boolean도 반환합니다. 사용자의 지갑 연결 상태에 직접 반응하도록 Wagmi 훅스(예: useAccount)에만 의존하는 것이 일반적으로 권장되며, Connect Modal의 상태에 의존하지 않는 것이 좋습니다.

const { connectModalOpen } = useConnectModal();
const { accountModalOpen } = useAccountModal();
const { chainModalOpen } = useChainModal();

RainbowKit은 비간섭적이며 반응성이 좋도록 설계되어 있으므로 사용자들이 지갑을 연결하지 않더라도 항상 사용자 인터페이스를 표시해야 합니다. 사용자는 MetaMask에서 직접 지갑을 연결하거나 연결 해제할 수 있으므로 dApp은 기본 연결 상태에 직접 반응해야 합니다.

Ethereum과 같은 메커니즘으로 서명을 기반으로 사용자 검증을 의존하는 dApp은 대신 Authentication 기능을 사용해야 합니다.