首页 > 解决方案 > react插件universal-cookies中的默认cookie过期时间是多少?

问题描述

我最近在我的 react 应用程序中添加了通用 cookie(v4.0.4)来存储用户是否已经关闭了 GDPR 横幅(这样它就不会在网站的其他页面上显示),现在我的客户正在询问我这个 cookie 的过期时间是多少。

我这样使用它:

import Cookies from 'universal-cookie';
Cookies cookie = new Cookies();

[...]

// Constructor of my GDPR banner component
constructor() {
    super();

    if (cookies.get('isOpenGdprBanner') === undefined) {
      cookies.set('isOpenGdprBanner', true);
    }
    const isOpenCookie = cookies.get('isOpenGdprBanner') === 'true'

    this.state = {
      isOpen: isOpenCookie
    }
}
[...]

// Event when closing the banner
onGdprBannerClose = () => {
    this.setState({ isOpen: false });
    cookies.set('isOpenGdprBanner', false);
}

由于我没有使用中的可选参数cookie.set(),假设用户不删除cookie并且不关闭浏览器,默认过期时间是多少?

标签: javascriptreactjscookies

解决方案


假设用户没有删除 cookie 并且没有关闭浏览器(如问题中所述),则默认情况下 cookie 永远不会过期。

(你可以设置一个maxAge让cookies过期更早甚至更晚,这样在客户端关闭后它们可以持续存在)

如果未指定,cookie 将成为会话 cookie。当客户端关闭时会话结束,之后会话 cookie 被删除。

资源


推荐阅读