所以我有一个反应状态,通过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
})