useMergeRefs
分类:
other
日期:
2022-3-02标签:
chakra
useMergeRefs
is a custom hook used to merge several react refs into a single one.
Import#
import { useMergeRefs } from '@chakra-ui/react';
Return value#
The useMergeRefs
hook returns a function that receives the element and assign the value to the given React refs.
Usage#
function Example({ ref, ...props }) {const internalRef = React.useRef();const refs = useMergeRefs(internalRef, ref);return (<div {...props} ref={refs}>A div with multiple refs.</div>);}
Usage combining with another Chakra-UI hooks#
function Example({ ref, ...props }) {const outsideRef = React.useRef();const { isOpen, onOpen, onClose } = useDisclosure();const { popperRef, referenceRef } = usePopper();useOutsideClick({ref: outsideRef,handler: () => isOpen && onClose(),});const buttonEl = useMergeRefs(outsideRef, referenceRef);return (<><button ref={buttonEl} onClick={onOpen}>Click me to see the popover</button>{isOpen && (<Box ref={popperRef} bg="green">Click outside to close me</Box>)}</>);}