繁体   English   中英

如何在 React 的 localStorage 中设置用户的首选语言

[英]How to set user's preferred language in localStorage in React

我正在尝试通过 localStorage 设置网站用户的首选语言。 该站点的默认语言是英语,但如果用户从语言下拉列表中选择西班牙语,则 localStorage 中的 userLanguage 应设置为“es”。 我正在关注这篇文章: https : //www.carlrippon.com/react-drop-down-data-binding/以获取有关下拉组件的参考。

我的问题是如何在功能组件中将 localStorage 设置为用户的选择。

我熟悉如何开始设置,直到这一点:

const [userLanguage, setUserLanguage] = useState();
useEffect(() => {
  localStorage.setItem("userLanguage", )
})

我的困惑是如何处理“userLanguage”之后的第三行

下拉选择器组件如下:

const Languages = () => {
  const languages = [
    { value: "en", label: "EN" },
    { value: "es", label: "SP" },
  ];

  return (
    <>
      <LanguagesContainer>
        <Select
          id="language-selector"
          instanceId="language-selector"
          inputId="language-selector"
          options={languages}
          defaultValue={languages[0]}
          className="language-selector"
          classNamePrefix="language-selector"
        />
      </LanguagesContainer>
    </>
  );
};

尝试这样做:

const [userLanguage, setUserLanguage] = useState();
   useEffect(() => {
    localStorage.setItem("userLanguage", userLanguage ? userLanguage : '')
    }, [userLanguage])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM