JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20786
  • Score
    100M100P100Q132234F
  • License MIT

A React hook for managing cookies with no dependencies.

Package Exports

  • react-use-cookie
  • react-use-cookie/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-use-cookie) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

useCookie

npm package

A React hook for managing cookies with no dependencies.

Installation

npm install react-use-cookie

or

yarn add react-use-cookie

Usage

useCookie

import useCookie from 'react-use-cookie';

export default (props) => {
  const [userToken, setUserToken, removeUserToken] = useCookie('token', '0');

  render(
    <div>
      <p>{userToken}</p>
      <button onClick={() => setUserToken('123')}>Change token</button>
      <button onClick={removeUserToken}>Remove token</button>
    </div>
  );
};

In this example you can also set custom cookie options by passing an options object to setUserToken:

setUserToken('abcd', {
  days: 365,
  SameSite: 'Strict',
  Secure: true,
});

See setCookie for more option information about this.

As a convenience this package also exports the get and set functions so they can be used directly.

getCookie

If you need to access a cookie outside of a React component, you can use the exported getCookie function:

import { getCookie } from 'react-use-cookie';

const getUser = () => {
  const xsrfToken = getCookie('XSRF-TOKEN');
  // use to call your API etc
};

setCookie

If you need to set a cookie outside of a React component, you can use the exported setCookie function:

import { setCookie } from 'react-use-cookie';

const saveLocale = (locale) => {
  setCookie('locale', locale, {
    days: 1,
    domain: 'github.com',
    SameSite: 'Lax',
    Secure: true,
  });
};

You can also specify cookie options as a third argument:

{
  // The number of days the cookie is stored (defaults to 7)
  days?: number;

  // The path of the cookie (defaults to '/')
  path?: string;

  // Browser defaults unless set
  domain?: string;
  SameSite?: 'None' | 'Lax' | 'Strict';
  Secure?: boolean;
  HttpOnly?: boolean;
}

removeCookie

If you need to remove a cookie outside of a React component, you can use the exported removeCookie function:

import { removeCookie } from 'react-use-cookie';

removeCookie('token');