在typescript的本地存储中使用布尔类型的React状态



所以我有一个反应状态,通过darkMode为假或真来跟踪暗/光模式。

const [darkMode, setDarkMode] = useState(false)

我有一个改变状态的函数:

const handleChange = () => {
setDarkMode(prevDarkMode => localStorage.setItem('darkMode', JSON.stringify(!prevDarkMode))) 
}

我得到两个错误:

1。类型参数'(prevDarkMode: boolean) =>void'不能赋值给'SetStateAction'类型的参数。

2。Type '(prevDarkMode: boolean) =>void'不能赋值给类型'(prevState: boolean) =>布尔"。类型"void"不能赋值给类型"boolean"。

如何解决这个问题?

需要在setState中返回一个值

setDarkMode(prevDarkMode => {
localStorage.setItem('darkMode', JSON.stringify(!prevDarkMode))
return !prevDarkMode
}) 

相关内容

  • 没有找到相关文章

最新更新