Leave Yamada UI a star

Star
Yamada UIYamada UIv1.7.2

usePromiseDisclosure

usePromiseDisclosure is a custom hook that helps handle common open/close or toggle scenarios with promises. It can be used to control components such as Modal, Dialog, Drawer, etc.

Source@yamada-ui/use-disclosure

Import

import { usePromiseDisclosure } from "@yamada-ui/react"
Copied!

Usage

Editable example

const { isOpen, onClose, onOpen, onSuccess } = usePromiseDisclosure()

const onClick = async () => {
  try {
    // Subsequent processing will be blocked until `onSuccess` is executed.
    await onOpen()

    console.log("あるじゃねえか、サタン!!!")
    console.log("おめえはホントに世界の…")
    console.log("救世主かもな!!!!")
  } catch {
    console.error("地球は滅亡しました")
  }
}

return (
  <VStack alignItems="start">
    <Text>だ…大地よ海よ そして生きているすべての みんな…</Text>
    <Text>このオラにほんのちょっとずつだけ元気をわけてくれ…!!!</Text>

    <Button onClick={onClick}>わけない</Button>

    <Dialog
      size="2xl"
      cancel="わけない"
      header="ミスター・サタン"
      isOpen={isOpen}
      success="わける"
      onCancel={onClose}
      onClose={onClose}
      onSuccess={onSuccess}
    >
      <Text>き、きさまらいいかげんにしろーーーっ!!!</Text>
      <Text>さっさと協力しないかーーーっ!!!</Text>
      <Text>
        このミスター・サタンさまのたのみも、きけんというのかーーーっ!!!
      </Text>
    </Dialog>
  </VStack>
)
Copied!

Edit this page on GitHub

PrevioususeProcessingNextuseResizeObserver