UNPKG

@darwish/hooks-core

Version:

26 lines (25 loc) 961 B
import { useCallback, useState } from 'react'; import jsCookie from 'js-cookie'; /** * @description A hook to get, set and delete cookie * @param cookieName cookie name * @returns UseCookieOutput A tuple with three elements * @property UseCookieOutput[0] cookie value * @property UseCookieOutput[1] updateCookie * @property UseCookieOutput[2] deleteCookie * @example * updateCookie('cookieValue'); * deleteCookie(); */ export default function useCookie(cookieName) { var _a = useState(function () { return jsCookie.get(cookieName) || null; }), cookieValue = _a[0], setCookieValue = _a[1]; var updateCookie = useCallback(function (value, option) { jsCookie.set(cookieName, value, option); setCookieValue(value); }, [cookieName]); var deleteCookie = useCallback(function () { jsCookie.remove(cookieName); setCookieValue(null); }, [cookieName]); return [cookieValue, updateCookie, deleteCookie]; }