React Cookie Package Install
$ npm install react-cookie
useCookies()// [쿠키 객체, 쿠키 변경 함수, 쿠키 제거 함수]
const [cookies, setCookie, removeCookie] = useCookies();
setCookie()setCookie 함수를 사용하여 쿠키를 추가할 수 있음
setCookie(name, value);
setCookie(name, value, { path: '/zustand' });
cookies 객체에 브라우저가 가지고 있는 쿠키 정보가 담겨있음
쿠키 객체를 호출하여 alert로 출력
1. alert(JSON.stringify(cookies));
2. alert(cookies.first);
3. alert(cookies[name]);
removeCookie()removeCookie 함수를 사용하여 쿠키 제거 가능
removeCookie(name);
전체 소스코드
export default function ReactCookie() {
const [cookies, setCookie, removeCookie] = useCookies();
const [name, setName] = useState<string>('');
const [value, setValue] = useState<string>('');
const onNameChangeHanlder = (event: ChangeEvent<HTMLInputElement>) => {
const { value } = event.target;
setName(value);
};
const onValueChangeHanlder = (event: ChangeEvent<HTMLInputElement>) => {
const { value } = event.target;
setValue(value);
};
const onAddClickHandler = () => {
const now = new Date();
const expires = new Date(now.setSeconds(now.getSeconds() + 10));
setCookie(name, value, { path: '/', expires });
};
const onShowClickHandler = () => {
alert(cookies[name]);
};
const onRemoveClickHandler = () => {
removeCookie(name, { path: '/zustand' });
};
return (
<div>
<input value={name} onChange={onNameChangeHanlder} />
<input value={value} onChange={onValueChangeHanlder} />
<button onClick={onAddClickHandler}>쿠키 추가</button>
<button onClick={onShowClickHandler}>쿠키 확인</button>
<button onClick={onRemoveClickHandler}>쿠키 제거</button>
</div>
)
}