Hook은 리엑트가 함수 컴포넌트를 만들며 어떤 값을 유지할 수 있도록
캐시
를 만들었고, 이캐시
를 이용해 상태 관리를 할 수 있도록 만든 여러개의 API를훅(Hook)
이라 합니다.
대표적으로 useState , useEffect 등이 있습니다.
Hook
은 클래스컴포넌트에서만 사용할 수 있었던 state(상태) 관리와 lifecycle(라이프 사이클) 관리 기능을 함수 컴포넌트에서도 사용할 수 있도록 연동(hook in) 해주는 함수를 말합니다.또한, 반복문과 조건문, 중첩된 함수 내에서는 Hook을 호출하면 안됩니다.
특정 조건에 부합하지 않는 경우 Hook을 호출하지 않게 되고, 그렇다면 Hook이 사용된 순서가 섞이기 때문입니다.
// 좋은 예제
import React, { useState } from 'react';
const Test = () => {
const [color, setColor] = useState('red');
if(5 > 3){
console.log("true");
};
return (
<div>Hello!</div>
);
};
export default Test;
{}
내부를 의미 합니다. 만약 첫 번째 {}
내부가 아닌 if문, 반복문 등 중첩되는 코드 블락의 {}
안에서 호출하면 에러가 발생합니다.
// 잘못된 예제
import React, { useState } from 'react';
const Test = () => {
if(5 > 3){
const [color, setColor] = useState('red');
};
return (
<div>Hello!</div>
);
};
export default Test;