[ Redux - HOC ]
💡HOC란 ?
Component를 개발하는 하나의 패턴으로써
재사용되는 값, 함수를 Props
로 받아올 수 있게 해주는 옛날 패턴.
대표적으로 connect
와 react-router-dom
에 내장된 withRouter
가 있다.
💡원리
다음 코드를 보자.
function withSth(WrappedComponent) {
return (props) => (
<WrappedComponent {...props} sth="sth" />
)
}
const MyComponent = ({ sth }) => {
return <div>{sth}</div>
}
const EnhancedMyComponent = withSth(MyComponent);
const App = () => {
return <EnhancedMyComponent />
}
- 맨 처음, App
arrow function
을 통해EnhancedMyComponent
를return
한다.
- 이
EnhancedMyComponent
Component
는MyComponent
에withSth
이라는 함수로 감싸져 있는데,
withSth
함수는 기존 컴포넌트에 새로운props
를 직접 넣어주어 리턴해준다.
- 결과적으로
MyComponent
는 새로운props
를 전달 받아 그에 따른 값을return
해주는 방식이다.
결과적으로 EnhancedMyComponent는 sth
이라는 props
가 없음에도 불구하고, 추가해줄 수 있다는 것이다!
Author And Source
이 문제에 관하여([ Redux - HOC ]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jengyoung/Redux-HOC저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)