유댕이의 개발공부일지
<TIL 20.11.08> HOC (Higher-order Component) 본문
HOC란
- HOC는 컴포넌트를 인자로 받아 새로운 컴포넌트를 반환하는 함수이다.
- 컴포넌트 기능 상에서도, 자주 반복되는 코드들이 나타날 수 있다.
- 컴포넌트 로직을 재사용 하기에 용이하다.
- 이름은 "with + 이름" 규칙을 따른다.
원리 (순서)
- 파라미터로 컴포넌트를 받아온다
- 함수 내부에서 새 컴포넌트를 만든다.
- 해당 컴포넌트 안에서 파라미터로 받아온 컴포넌트를 렌더링
- 그리고, 자신이 받아온 props 들은 그대로 파라미터로 받아온 컴포넌트에게 다시 주입
- 필요에 따라 추가 props 도 넣어준다.
기본 형식
const withHOC = WrappedComponent => {
const newProps = {
loading: false,
};
return props => {
return <WrappedComponent {...props} {...newProps} />
}
};
export default withHOC;
- HOC함수 : withHOC
- 기존의 컴포넌트 : WrappedComponent
- 기존의 컴포넌트에 newProps를 추가한 컴포넌트를 리턴
- HOC함수를 기존 컴포넌트에 감싸서 사용
'TIL' 카테고리의 다른 글
<TIL 20.11.11> 로그 (0) | 2020.11.11 |
---|---|
<20.11.10> Immer (0) | 2020.11.10 |
<TIL 20.11.04> Redux-Saga + ReselectSaga를 쓰는 이유 (0) | 2020.11.04 |
<TIL 20.11.04> React Hooks (0) | 2020.11.04 |
<TIL 20.11.03> Functional Component + Hooks를 쓰는이유 (0) | 2020.11.03 |