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>
)}
</>
);
}
footer logo

© 2022 Designed with chakra ui. Powered by contentlayerjs and nextjs etc. All rights reserved

TwitterYouTubeGithub