Javascript 反转存储在localStorage中的布尔值

Javascript 反转存储在localStorage中的布尔值,javascript,local-storage,Javascript,Local Storage,我有一个按钮,可以切换黑暗模式。 我将暗模式状态作为布尔值存储在localStorage中 该按钮调用该函数,该函数应翻转布尔值, 但它不起作用 const handleDarkMode = () => { let darkMode = localStorage.darkMode localStorage.setItem("darkMode", !darkMode) } 有什么想法吗?本地存储中的项目存储为字符串,因此您需要将的“true”/的“false”值转换为的true/的

我有一个按钮,可以切换黑暗模式。 我将暗模式状态作为布尔值存储在localStorage中

该按钮调用该函数,该函数应翻转布尔值, 但它不起作用

const handleDarkMode = () => {
  let darkMode = localStorage.darkMode
  localStorage.setItem("darkMode", !darkMode)
}

有什么想法吗?

本地存储中的项目存储为字符串,因此您需要将
的“true”
/
的“false”
值转换为
的true
/
的false
(布尔)值,然后才能将
暗代码
用作布尔值:

const handleDarkMode = () => {
  let darkMode = localStorage.darkMode === "true"; // change "true" to true and others to false
  localStorage.setItem("darkMode", !darkMode)
}

另请注意:一般来说,要从本地存储中获取项目,我们使用
getItem(key)

本地存储中的项目存储为字符串,因此您需要将
的“true”
/
值转换为
true
/
false
(布尔)值,然后才能将
暗码
用作布尔值:

const handleDarkMode = () => {
  let darkMode = localStorage.darkMode === "true"; // change "true" to true and others to false
  localStorage.setItem("darkMode", !darkMode)
}

另请注意:一般来说,要从localStorage获取项,我们使用
getItem(key)

localStorage将布尔值转换为字符串,因此您需要这样检查它

const handleDarkMode = () => {
  let darkMode = localStorage.getItem('darkMode') === 'true';
  localStorage.setItem('darkMode', !darkMode);
}

LocalStorage将布尔值转换为字符串,因此需要这样检查它

const handleDarkMode = () => {
  let darkMode = localStorage.getItem('darkMode') === 'true';
  localStorage.setItem('darkMode', !darkMode);
}

谢谢你和其他人。两个建议都有效。谢谢你和其他人。这两个建议都有效。