[28] React HOC vs HOF
HOC (Higer order Component)
상위 컴포넌트라는 뜻,
로그인을 하지 않은 유저가 로그인을 해야 볼 수 있는 페이지에 접근하려면 '로그인을 해주세요'하고 로그인창으로 보내는 페이지에 모두 처리를 해야한다고 가정할 때, 하나하나 다 코드를 넣어줄 수 없다. 이런 문제를 HOC를 사용하면 해결할 수 있다.
HOC를 하나 만들고 로그인이 필요한 컴포넌트 앞에 HOC만 붙여주면 간단하게 권한 처리를 끝낼 수 있다.
HOC는 데이터를 클로저 함수의 특징을 위용해 무손실로 전달할 수 있다. event.target.id 등을 사용하지 않고 바로 함수에서 전달받은 인덱스 값을 전달하여 출력할 수 있다. 따라서 id를 남용하지 않아 오류를 방지할 수 있다.
HOF (Higer order Fuction)
고차함수는 함수를 인자로 받거나 또는 함수를 반환함으로써 작동하는 함수를 말한다. 간단히 말하자면 고차 함수는 함수를 인자로 받거나 함수를 출력으로 반환하는 함수를 말한다. HOF 를 사용하면 보다 유연하고 반복을 줄일 수 있는 코드를 작성할 수 있다.
예제
고차 함수가 아닌 함수로 작성
const arr1 = [1, 2, 3]
const arr2 = [];
for(let i = 0; i <arr1.length; i++){
arr2.push(arr1[i] * 2);
}
console.log(arr2) //prints[2, 4, 6]
고차 함수로 작성
const arr1 = [1,2,3]
const arr2 = arr1.map(function(el){
return el*2
})
console.log(arr2)
// [2,4,6]
화살표 함수를 이용하면 훨씬 짧게 작성 가능
const arr1 = [1,2,3]
const arr2 = arr1.map(el => el * 2);
console.log(arr2)
// [2,4,6]
참고
https://intrepidgeeks.com/tutorial/hofhoc
https://ko.reactjs.org/docs/higher-order-components.html
Author And Source
이 문제에 관하여([28] React HOC vs HOF), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hjthgus777/28-React-HOC-vs-HOF저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)