reactjs 当我在react中切换主题颜色时,徽标不会更改[已关闭]

oxcyiej7  于 2022-11-22  发布在  React
关注(0)|答案(1)|浏览(150)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

14小时前就关门了。
Improve this question
我知道这并不容易,因为改变主题颜色需要很多组件,但基本上我的网站工作顺利,当我切换主题颜色,除了标志。我有2个标志,我想在黑暗和光明的主题之间切换。
我使用useContext作为:

import { createContext } from "react";
const context = {
    theme: '',
    setTheme: () => {}
}
export const ThemeContext = createContext(context);

我的代码

const { theme } = useContext(ThemeContext);
<Link to="/">{theme === "theme-dark" ? <img alt="" src={logoWhite} /> : <img alt="" src={logo} />}</Link>

应用程序js

export function App() {
const [theme, setTheme] = useState("theme-dark");

const contextValue = {
theme,
setTheme,
};

return (
<div>
  <Router>
    <Routes>
      <Route path="/" element={<Layout />}>
        <Route index element={<Home />} />
       
      </Route>
    </Routes>
  </Router>
 </div>
 );
 }
iq0todco

iq0todco1#

我错过了供应商。这里更新的答案。

export function App() {
const [theme, setTheme] = useState("theme-dark");

const contextValue = {
theme,
setTheme,
};

return (
<div>
  <ThemeContext.Provider value={contextValue}>
    <Router>
      <Routes>
        <Route path="/" element={<Layout />}>
          <Route index element={<Home />} />
          
          <Route path="*" element={<NoPage />} />
        </Route>
      </Routes>
    </Router>
  </ThemeContext.Provider>
</div>
 );
 }

相关问题