【问题标题】:How to get js-cookie如何获取 js-cookie
【发布时间】:2020-05-24 09:00:18
【问题描述】:

我有一个从 js-cookie 设置 cookie 的代码

Cookies.set("currentCity", selected ? JSON.stringify(selected.city) : "", {
            domain: `.${process.env.DOMAIN}`,
})

当我尝试在 currentCity 变量更改时获取 cookie 时

    useEffect(() => {
    console.log('All Cookies' ,Cookies.get())
  }, [currentCity])

我在控制台中有以下内容

_pk_id.10.1fff: "7f704b7a9d967f1e.1577256464.0.1577265589.."

还有当我没有设置 Cookie 时(只是删除了 Cookies.set)

我在console.log里有同样的get Cookie

_pk_id.10.1fff: "7f704b7a9d967f1e.1577256464.0.1577265589.."

我做错了什么? _pk_id.10.1fff和我第一次设置的Cookie是一样的吗?

【问题讨论】:

  • 尝试在运行前清除所有 cookie。还要在 Cookie.set 行之前记录 selectedJSON.stringify(selected.city) 变量。可能当您删除 Cookie.set 并记录时,它仍在记录相同的值,因为 cookie 已在第一次迭代中设置且未删除

标签: javascript reactjs cookies setcookie


【解决方案1】:

您每次都将 cookie 值设置为 currentCity 而不清除其值(以防您没有关闭浏览器),也许先删除 cookie 可能会解决您的问题。

这里有一个建议:


const domain = { domain: `.${process.env.DOMAIN}` };
if (selected === true) {
  if (Cookies.get("currentCity")) {
    Cookies.remove("currentCity");
    Cookies.set("currentCity", JSON.stringify(selected.city),domain);
  }
} else {
  Cookies.set("currentCity", "", domain);
}

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 1970-01-01
    • 2017-08-29
    • 2022-01-02
    • 1970-01-01
    • 2021-04-17
    • 2016-02-03
    • 1970-01-01
    • 2021-07-21
    相关资源
    最近更新 更多