예전같았으면 리액트가 바로 생각났을텐데 ㅋㅋㅋㅋㅋㅋㅋㅋ 요즘엔 스우파봐서 아이키밖에 생각안남.. 아이키 좋아 ㅜㅜㅜ 스우파 안본지도 꽤됐넹 왜냐면 감정소비 넘 심함.. ㅜㅜ 아무튼 훅 최고
다시 돌아와서 사람들이 그렇게 말하는 훅훅훅훅 HOOKS! 에대해서 알아보장
은수의 관점에서 HOOKS! 를 사용하는 이유는 뭐다? (100% 내 주관)
클래스 컴포넌트의 단점
- 로직의 재사용이 어려워진다. (class 부분적인 API 사용 및 state다루는 부분)
- 가독성이 떨어진다.
Hooks! 의 장점
- 함수형 컴포넌트에서는 원하는 기능을 함수로 만든 후 필요한 곳에 넣어주기만 하면 되기 때문에 로직의 재사용이 유연해 짐.
- 클래스형 컴포넌트가 가지고 있던 복잡성, 재사용성의 단점들까지 해결 됨.
Hook이란 함수 컴포넌트에서 React State와 생명주기 기능을 연동할 수 있게 해주는 함수이다. useState와 같은 내장 Hook들도 있고, 재사용 가능한 hook을 직접 만드는 것도 가능하다.
function ExampleWithManyStates() {
const [age, setAge] = useState(42);
const [fruit, setFruit] = useState('banana');
const [todos, setTodos] = useState([{ text: 'Learn Hooks' }]);
// ...
}
//useState 예시
const HookInputs = () => {
const [value,setValue]= useState('');
return (
<>
<input type="text" value={value} />
<button >입력</button>
</>
)
}
export default HookInputs
const MyReact = (function () {
function useState(initialValue) {
let _state = initialValue;
function getState() {
return _state;
}
function setState(value) {
_state = value;
}
return [getState, setState];
}
function render(Component) {
return Component();
}
return { useState, render };
})();
출처/ 참조