当前位置:首页 > React

react 如何操作cookie

2026-03-30 18:30:56React

操作 Cookie 的方法

在 React 中操作 Cookie 可以通过原生 JavaScript 的 document.cookie API 或第三方库(如 js-cookie)来实现。以下是两种方法的详细说明:

使用原生 JavaScript 操作 Cookie

原生 JavaScript 提供了 document.cookie 来读取和设置 Cookie,但需要手动处理字符串格式。

设置 Cookie

document.cookie = "username=JohnDoe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";
  • username=JohnDoe 是键值对。
  • expires 设置过期时间(UTC 格式)。
  • path=/ 指定 Cookie 的作用路径。

读取 Cookie

const cookies = document.cookie.split(';').reduce((acc, cookie) => {
  const [key, value] = cookie.trim().split('=');
  acc[key] = value;
  return acc;
}, {});
console.log(cookies.username); // 输出 "JohnDoe"

删除 Cookie 通过设置过期时间为过去的时间来删除 Cookie:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

使用 js-cookie 库操作 Cookie

js-cookie 是一个轻量级库,简化了 Cookie 的操作。

react 如何操作cookie

安装

npm install js-cookie

设置 Cookie

import Cookies from 'js-cookie';

Cookies.set('username', 'JohnDoe', { expires: 7, path: '/' }); // 7 天后过期

读取 Cookie

react 如何操作cookie

const username = Cookies.get('username');
console.log(username); // 输出 "JohnDoe"

删除 Cookie

Cookies.remove('username', { path: '/' });

在 React 组件中使用 Cookie

结合 React 的生命周期或 Hooks 管理 Cookie:

函数组件示例

import React, { useEffect } from 'react';
import Cookies from 'js-cookie';

const UserProfile = () => {
  useEffect(() => {
    Cookies.set('lastVisited', new Date().toISOString(), { expires: 1 });
  }, []);

  return <div>Last visited: {Cookies.get('lastVisited')}</div>;
};

export default UserProfile;

类组件示例

import React from 'react';
import Cookies from 'js-cookie';

class UserProfile extends React.Component {
  componentDidMount() {
    Cookies.set('lastVisited', new Date().toISOString(), { expires: 1 });
  }

  render() {
    return <div>Last visited: {Cookies.get('lastVisited')}</div>;
  }
}

export default UserProfile;

注意事项

  1. 安全性:避免存储敏感信息(如密码),必要时使用 HttpOnlySecure 标志。
  2. 同源策略:Cookie 受同源策略限制,确保域名和路径一致。
  3. SSR 兼容性:在服务端渲染(如 Next.js)中,需检查 window 对象是否存在。

通过以上方法,可以灵活地在 React 中管理 Cookie。

标签: 操作react
分享给朋友:

相关文章

vue 实现选题操作

vue 实现选题操作

实现选题操作的基本思路 在Vue中实现选题操作通常涉及以下核心逻辑:维护一个数据数组存储选项,通过v-model或自定义事件绑定用户选择,动态更新选中状态。常见场景包括单选、多选、全选/反选等。 单…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一…

react如何卸载

react如何卸载

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

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

react如何建项目

react如何建项目

创建React项目的几种方法 使用官方工具Create React App(CRA) npx create-react-app my-app 这条命令会创建一个名为my-app的新React项目,包含…

如何调试react源码

如何调试react源码

调试React源码的方法 克隆React源码仓库到本地: git clone https://github.com/facebook/react.git cd react 安装依赖并构建开发版本:…