1

我使用了 redux,我想使用 cookie 项来获取我的 API,如下所示:

import cookies from "js-cookies";

api/get_liste/${cookies.getItem("moncentre")}

当我运行我的应用程序时,${cookies.getItem("moncentre")}null.

我的密码箱:https://codesandbox.io/s/ecstatic-rubin-tf56r?file=/src/App.js: 157-212

我该如何解决?

4

1 回答 1

1

所以这里的问题是,你从来没有在你的应用程序中设置一个 cookie,然后尝试获取从不存在的 cookie,所以它会返回null,因为它在浏览器 cookie 中没有价值。

为了设置一个cookie,你应该这样做(根据包提供者):

cookies.setItem('_code_sandbox_key', 'Cookie did set.')

工作演示:

代码沙盒

您面临的另一件事是您在开发工具中收到的警告,因此根据此文档此控制台警告不是错误或实际问题——Chrome 只是在宣传这个新标准以提高开发人员的采用率。要解决此问题,您应该添加SameSite="none Secure"(然后使用开发工具清除所有 cookie)以让浏览器知道该脚本与您的站点无关,并且它是您正在使用的第三方库。

<script src="https://kit.fontawesome.com/a076d05399.js" SameSite="none Secure"></script>

注意:您可以关注此线程以获取更多信息。

于 2020-05-18T09:32:01.470 回答