【发布时间】:2021-01-06 22:22:46
【问题描述】:
我有一个 Gatsby 网站,并且正在实施 GDPR 同意横幅。我想将状态存储在本地存储中,其中包含与用户是否接受 GDPR 条款有关的“真”或“假”字符串。
例如,用户第一次出现在网站上。在本地存储中,有一个设置为“false”的“GDPR_Accepted”键。如果用户不接受主页上的 GDPR 条款,则横幅将继续显示在用户访问的每个页面上。当用户单击接受时,GDPR_Accepted 值设置为“true”,并且我的 React 组件中的三元运算符应用了一个隐藏横幅的 CSS 类。
因为我使用的是本地存储,所以即使用户离开页面并稍后返回,“true”值也应该保持不变(假设他们没有清除浏览历史记录)。问题出在盖茨比身上。 Gatsby 使用服务器端渲染,当用户接受 GDPR 条款并离开网站并返回时,GDPR 值将重置为“false”。当设置为“true”时,Gatsby 无法持久保存之前的本地存储数据。
如何在 Gatsby 项目的本地存储中保存数据?仅使用 React 状态来存储用户是否已接受 GDPR 条款是否更有意义?
【问题讨论】:
标签: reactjs cookies local-storage gatsby server-side-rendering