当前位置:首页 > React

react如何接受cookie

2026-02-26 17:55:09React

在 React 中接收 Cookie 的方法

使用 document.cookie 直接读取
document.cookie 会返回当前域名下的所有 Cookie 字符串,格式为 key=value 的分号分隔形式。可以通过以下方式解析:

const cookies = document.cookie.split(';').reduce((acc, cookie) => {
  const [key, value] = cookie.trim().split('=');
  return { ...acc, [key]: value };
}, {});

使用第三方库(如 js-cookie)

安装 js-cookie 库可以简化 Cookie 操作:

npm install js-cookie

在组件中使用:

import Cookies from 'js-cookie';

// 读取 Cookie
const userToken = Cookies.get('token');

结合 HTTP 请求自动处理

如果 Cookie 是通过 HTTP 请求(如登录接口)设置的,确保请求配置中启用了 credentials

fetch('/api/login', {
  credentials: 'include' // 允许携带 Cookie
});

服务端渲染(Next.js)的特殊处理

在 Next.js 的 getServerSideProps 中,可以通过上下文对象访问请求头中的 Cookie:

react如何接受cookie

export async function getServerSideProps(context) {
  const cookies = context.req.headers.cookie;
  // 解析逻辑同 document.cookie
}

注意事项

  • HttpOnly Cookie:标记为 HttpOnly 的 Cookie 无法通过 JavaScript 读取,仅限服务端使用。
  • 安全域限制:浏览器仅允许访问当前域名或父域下的 Cookie(遵循同源策略)。
  • 过期时间:读取时不会自动过滤已过期的 Cookie,需手动检查。

标签: reactcookie
分享给朋友:

相关文章

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

如何同步react

如何同步react

同步React组件状态的方法 使用useState和useEffect钩子组合可以同步React组件的状态。useState用于声明状态变量,useEffect用于监听状态变化并执行副作用。 imp…

如何用react

如何用react

使用React的基本步骤 安装Node.js和npm 确保系统已安装Node.js和npm。Node.js自带npm,可从官网下载安装包。安装完成后,通过命令行验证版本: node -v npm -…

react如何发音

react如何发音

React的发音 React的正确发音为 /riˈækt/,类似于“ree-akt”。以下是详细说明: 发音分解 第一个音节“Ree”发音类似英文单词“see”中的“ee”音。 第二个音节…

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…