我写代码有个问题:我有一个州
const [theme, setTheme] = useState({ mode: "LIGHT" });
我想做一个切换功能,通过双击将模式切换到“暗”,然后将“暗”切换到“亮”。2我该怎么写呢?
import { createContext, useContext, useState } from "react";
const DARK = "DARK";
const ThemeContext = createContext();
const ThemeProvider = ({ children }) => {
const [theme, setTheme] = useState({ mode: "LIGHT" });
const toggleThemeMode = () => {
setTheme();
console.log(theme);
};
return (
<ThemeContext.Provider value={{ theme, toggleThemeMode }}>
{children}
</ThemeContext.Provider>
);
};
const useTheme = () => useContext(ThemeContext);
export { ThemeProvider, useTheme, DARK };
2条答案
按热度按时间0md85ypi1#
例如,包含onDoubleClick事件的示例,但如果您指的只是单击,则将事件名称更改为
onClick
第一个
7fhtutme2#
您可以只使用下列程式码:
不过,我建议你至少也提供一个“光”值的常数,甚至更好:如果你想使用两个值(light和dark),你也可以将状态定义为布尔值。