utils
hooks
useMergeRef

useMergeRef

인자로 받은 여러 ref를 하나로 합칩니다.

Description

useMergeRefs는 여러 ref를 하나로 합칩니다.

Usage

import {useMergeRefs} from "@shoplflow/utils"
 
const Container = () => {
  const ref1 = React.useRef<HTMLDivElement>(null);
  const ref2 = React.useRef<HTMLDivElement>(null);
  const ref3 = React.useRef<HTMLDivElement>(null);
  const ref = useMergeRefs(ref1, ref2, ref3);
 
  return(
  <div ref={ref}>container</div>
  )
}
export const PopperTrigger = forwardRef<HTMLDivElement, PopperTriggerProps>(
 ({ children, isOpen = false, ...rest }, ref) => {
   const { setReference, setIsOpen } = usePopper();
 
   const refs = useMergeRefs(ref, setReference);
 
   useEffect(() => {
     setIsOpen(isOpen);
   }, [isOpen, setIsOpen]);
 
   return (
     <StyledPopper ref={refs} data-shoplflow={'Popper'} {...rest}>
       {children}
     </StyledPopper>
   );
 },
);