useRef
ref변경이 일어날때 특정 함수를 실행시키고자 할때
export default function App() {
const callbackRef = useCallback((node) => {
if (node !== null) {
// 동작
}
}, []);
return (
<div ref={callbackRef}>
<Component />
</div>
);
}
ref를 하위 컴포넌트에게 전달하는 경우
export default function App() {
const componentRef = useRef();
return (
<div>
<Component ref={componentRef} />
</div>
);
}
const Component = forwardRef((props, ref) => {
console.log(ref);
return (
<div>
<img
src="url"
alt="img"
ref={ref}
></img>
</div>
);
});
동작과정
useImperativeHandle