# 리액트의 커링 함수

#### 리액트에서 고차 컴포넌트에서 커링 함수를 언제 사용할까? (리액트 라우터, 리액트 리덕스를 제외) <a href="#when-to-use-it" id="when-to-use-it"></a>

리액트 컨텍스트를 이용한 작업을 할 때, 사용한다. (`forwardRef()` 메서드, styled-components 작동 원리가 고차 컴포넌트 이다.)

```javascript
withCurryingFunction(option)(Component) 
```

첫 번째 인자로 옵션을 설정한다. 옵션으로는 displayName와 같이 컴포넌트의 별칭을 설정하거나 컴포넌트의 속성을 설정할 수 있도록 한다.&#x20;

두 번째 인자는 내부의 있는 함수를 실행하여 contextType을 실행하는 class 컴포넌트 함수가 실행되도록 한다.&#x20;

![](https://831271375-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSRg9KgNRIGErVFy_6g%2F-MTn3mYFVRngs3Ns4BYP%2F-MTn5wLjX97Cta77mDsw%2Fimage.png?alt=media\&token=cdf6c01a-1c7b-482e-b8d6-5dfb06fe047b)
