javascript - 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并且不关闭浏览器,默认过期时间是多少?
解决方案
假设用户没有删除 cookie 并且没有关闭浏览器(如问题中所述),则默认情况下 cookie 永远不会过期。
(你可以设置一个maxAge
让cookies过期更早甚至更晚,这样在客户端关闭后它们可以持续存在)
如果未指定,cookie 将成为会话 cookie。当客户端关闭时会话结束,之后会话 cookie 被删除。
推荐阅读
- php - 如果当前日期在日期之间,WP_Query 获取数据
- reactjs - 当我需要将引用传递给另一个组件时,如何确保加载它?
- r - 在数据框中找到最小转折点
- java - 如果输入错误,请重新输入
- python - 在确定的 wx.StatusBar 的字段中显示 wx.MenuItems 的帮助字符串
- eiffel - 在所有断言都设置为 true 的情况下如何不进行检查?
- functional-programming - Curry 中的 N 元函数和 Prolog 中的 N+1 元关系之间有什么区别吗?
- python - 如何将字典术语转换为熊猫数据框?
- c++ - 递归删除所有相邻的重复项(使用堆栈)
- javascript - react-leaflet v3 缩放监听器