【发布时间】:2020-07-26 07:16:05
【问题描述】:
如何在localStorage中存储暗模式的值?
我还能这样吗?
你们能给我一些想法吗?
谢谢你的欢呼,
function App() {
const [darkState, setDarkState] = useState("");
const palletType = darkState ? "dark" : "light";
const mainPrimaryColor = darkState ? blue[400] : blue[800];
const mainSecondaryColor = darkState ? grey[800] : grey[100];
const darkTheme = createMuiTheme({
palette: {
type: palletType,
primary: {
main: mainPrimaryColor,
},
secondary: {
main: mainSecondaryColor,
},
},
});
function handleThemeChange() {
setDarkState(!darkState);
}
return (
<ThemeProvider theme={darkTheme}>
<IconButton onClick={handleThemeChange()}>
<Switch checked={darkState} />
</IconButton>
</ThemeProvider>
);
}
【问题讨论】:
-
localStorage.setItem 和 getItem 对您不起作用?从您的问题来看,您似乎想像 setDarkState 一样更新本地存储...您面临的问题是什么
-
好吧,我试过了,但它不会保留darkState的状态,它在切换时存储真或假,但我知道我要存储什么。
-
在您的条件下,您没有将
darkState与任何东西进行比较......这就是他们没有切换的原因 -
对不起,如果我没有说清楚,但基本上切换工作,它切换到暗到亮,我的问题是我必须在本地存储中存储什么,以便首选(暗或亮mode ) 被记住
标签: javascript reactjs material-ui frontend themes