【发布时间】:2021-06-11 13:50:57
【问题描述】:
我希望我的 Next.js 应用程序能够记住用户喜欢哪种语言,因此我想将它存储在客户端的 cookie 中。 我有 2 种语言选择:EN 和 FR。
默认情况下,语言设置为英语(无 cookie,myapp.com/),但是一旦用户点击 EN 首选项,URL 将更改为 myapp.com/en,并且应该存储此选择的语言。法语也是如此。
const [language, setLanguage] = useState(false);
<Link
href={`/${router.locale === 'en' ? 'fr' : 'en'}`}
locale={false}
>
<a
onClick={() => {
setLanguage((language) => !language);
// setCookie({});
}}
>
{` ${language ? 'en' : 'fr'}`}
</a>
我可以在哪里以及如何使用 cookie 或会话存储以便后端可以看到它?
【问题讨论】:
-
const setCookie = (locale) => { document.cookie = NEXT_LOCALE=${locale}; window.location.reload();}这是我在 onClick 函数中调用 setCookie 的设置,但没有运气。 -
到目前为止你尝试过什么?你有什么错误吗?
-
@Camilo 我尝试了我在之前评论中提到的内容。使用存储在钩子中的 Next_Locale,我在 onClick 函数中调用了它,这会起作用,但我真的不知道在函数 -onClick setCookie() 中调用什么
标签: reactjs cookies internationalization next.js session-cookies