React.forwardRef()를 사용하여 컴포넌트의 속성(props)을 전달하는 방법은 무엇인가요?
먼저, forwardRef()를 사용하여 ref를 전달할 컴포넌트를 만들어야 합니다. 예를 들면 다음과 같습니다:
const MyComponent = React.forwardRef((props, ref) => {
// 컴포넌트 기능 구현
return <div ref={ref}>컴포넌트 내용</div>;
});
이제 MyComponent를 사용할 때 ref를 전달할 수 있습니다. 예를 들어, 부모 컴포넌트에서 ref를 만들고 MyComponent에 전달할 수 있습니다:
class ParentComponent extends React.Component {
constructor(props) {
super(props);
this.myComponentRef = React.createRef();
}
render() {
return (
<div>
<MyComponent ref={this.myComponentRef} />
<button onClick={() => this.handleClick()}>버튼</button>
</div>
);
}
handleClick() {
// MyComponent의 ref를 사용하여 접근 가능
console.log(this.myComponentRef.current);
}
}
위의 예제에서는 MyComponent를 통해 ref를 전달하고, 부모 컴포넌트에서 버튼 클릭 시 MyComponent의 ref를 사용하여 접근하고 있습니다.
이와 같이 forwardRef()를 사용하면 속성(props)뿐만 아니라 ref를 전달할 수 있으며, 이는 ref를 사용하여 컴포넌트 내부에 있는 요소에 직접 접근할 때 유용합니다.