클로저 (Closure)
- 클로저를 이해하기 전에는 먼저 지역변수와 전역변수에 대해서 이해해야 한다 !
전역변수
( 함수 밖에서 선언 했기에 ) 해당 컴포넌트( = 페이지) 안이라면 어디서든 사용할 수 있는 변수
지역함수
( 함수 안에서 선언 했기에 ) 해당 함수 안에서만 사용되는 함수
클로저는 내부함수에서 외부함수의 지역변수에 접근하는 것을 의미한다.
HOC 와 HOF
- 두가지 개념 모두 클로저로부터 확장된 개념이다
HOC( Higher Order Component )
- 특정 컴포넌트를 실행하기 전에 상위 컴포넌트를 먼저 실행시켜 주는 것
- 다른 컴포넌트와 함께 실행되므로 with라는 이름을 앞에 붙여준다
예를 들어 withAuth, withApollo
- 권한여부를 편하게 여러 페이지에서 확인할 수 있다.
권한여부체크 HOC를 하나 만들어놓고
권한여부를 확인할 컴포넌트 앞에 HOC만 붙이면되기 때문이다.HOF ( Higher Order Function )
- 특정 함수를 실행하기 전에 상위 함수를 먼저 실행시켜 주는 것
- event.target.id 라고 직접 입력하지 않아 코드가 짧아진다
- 기존 UI프레임 워크를 사용하면 id가 사라지느 문제도 해결 된다.