{"library":"react-cookie","title":"React Cookie Management Library","description":"react-cookie is a utility library for React applications that provides a universal (isomorphic) solution for managing browser cookies, enabling consistent cookie handling across both client-side and server-side rendering (SSR) environments. Its current stable version is 8.1.0, with frequent updates addressing dependencies and minor improvements, typically on a monthly cadence for patch releases and less frequently for minor/major versions as features or breaking changes are introduced. Key differentiators include its integration with the underlying `universal-cookie` library for core logic, offering React-specific hooks (`useCookies`) and a provider pattern (`CookiesProvider`) for easy consumption within React component trees. It simplifies reading, setting, and removing cookies by abstracting away the browser's `document.cookie` API and Node.js server request headers, making it particularly useful for applications requiring robust cookie management in an SSR context.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install react-cookie"],"cli":null},"imports":["import { useCookies } from 'react-cookie';","import { CookiesProvider } from 'react-cookie';","import { withCookies } from 'react-cookie';","import { Cookies } from 'react-cookie';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import React from 'react';\nimport { CookiesProvider, useCookies } from 'react-cookie';\n\nfunction MyComponent() {\n  const [cookies, setCookie, removeCookie] = useCookies(['my-cookie-name']);\n\n  const handleSetCookie = () => {\n    setCookie('my-cookie-name', 'hello-world', { path: '/', maxAge: 3600 });\n  };\n\n  const handleRemoveCookie = () => {\n    removeCookie('my-cookie-name', { path: '/' });\n  };\n\n  return (\n    <div>\n      <h1>Cookie Value: {cookies['my-cookie-name'] || 'None Set'}</h1>\n      <button onClick={handleSetCookie}>Set Cookie</button>\n      <button onClick={handleRemoveCookie}>Remove Cookie</button>\n      <p>This component demonstrates how to use `useCookies` to read, set, and remove cookies. The `CookiesProvider` makes the cookie context available throughout your app.</p>\n    </div>\n  );\n}\n\nexport default function App() {\n  return (\n    <CookiesProvider>\n      <MyComponent />\n    </CookiesProvider>\n  );\n}","lang":"typescript","description":"This quickstart demonstrates setting up `CookiesProvider` and using the `useCookies` hook to interact with a cookie named 'my-cookie-name'.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}