【问题标题】:React Cookie + ReactJS: How to set expiration time for a cookie?React Cookie + ReactJS:如何设置 cookie 的过期时间?
【发布时间】:2017-03-06 21:38:16
【问题描述】:

在我的 ReactJS 项目中,目前我正在保存像 cookie.save('token', received_token, { path: '/'} ); 这样的 cookie,并像这样从本地存储中检索它:cookie.load('token');

所以我想知道,当.save() 收到令牌时,是否有一种方法可以设置过期时间,一旦过期,自动将其从本地存储中删除?

谢谢您,并会通过投票接受答案。

【问题讨论】:

    标签: javascript reactjs cookies token react-jsx


    【解决方案1】:

    您可以将maxAgeexpires 作为cookie.save 函数中的第三个参数传递

    语法:

    reactCookie.save(name, val, [opt])
    

    例子:

    // maxAge Example
    reactCookie.save("token", "token-value", {
       maxAge: 3600 // Will expire after 1hr (value is in number of sec.)
    });
    
    // Expires Example
    var tomorrow = new Date();
    tomorrow.setDate(today.getDate()+1);
    
    reactCookie.save("token", "token-value", {
       expires: tomorrow // Will expire after 24hr from setting (value is in Date object)
    });
    

    文档:https://github.com/eXon/react-cookie#reactcookiesetrawcookiecookies

    【讨论】:

    • 在我接受答案并投票之前,如果您不介意,请提出几个问题。我是否将其声明为reactCookie.save(name, val, [expires: 5000])?您能否澄清一下何时在maxAgeexpires 之间使用一个?阅读文档,但似乎无法区分。另外,当它expires 时,它会自动从本地存储中删除令牌本身吗?感谢您的回复!
    • @Walter 我仅在答案中添加了示例,还添加了两个选项之间的差异
    • @Walter 本地存储不会过期,由用户自行处理何时删除。
    • 知道了。谢谢你的澄清。那么令牌过期后会发生什么?我怎样才能让它从本地存储中删除?
    • 如果是本地存储,您只需将该本地存储的值设置为nullundefined 即可重置或过期。如果是 cookie,如果您尝试访问过期的 cookie,您应该得到 undefined
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多