首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您的位置:我也知道>地区>经济>经济>

您的位置:我也知道>地区>经济>经济>
EN

Stack Overflow用户
提问于 2022-09-02 17:50:14
回答 1查看 35关注 0票数 0

我有这个导航条组件,它包含一个“黑暗模式”图标,它执行一个"useState“函数,将图标从光更改为暗,添加一个”活动“类,我想将相同的值带到"App"中的初始组件中,以便向布局类添加一个”黑暗“<代码>E 211。

代码语言:javascript
复制
export default function Navbar() {
    const [darkModeToggle, setDarkModeToggle] = useState(false);
    return (
        <>
            <header className='header'>
                <div className='header__container'>
                    <div
                        className={
                            darkModeToggle
                                ? 'header__container__darkmode active'
                                : 'header__container__darkmode'
                        }
                        onClick={() => {
                            setDarkModeToggle(!darkModeToggle);
                        }}
                    >
                        <BiSun className='sun' />
                        <BiMoon className='moon' />
                    </div>
                </div>
            </header>
        </>
    );
}

export default function App() {
    return (
        <div className='layout'>
            <Navbar />
            <Routes>
                <Route path='/' element={<Home />} />
                <Route path='/about' element={<About />} />
                <Route path='/services' element={<Services />} />
                <Route path='/contact' element={<Contact />} />
                <Route path='*' element={<NotFound />} />
            </Routes>
        </div>
    );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-02 19:17:31

将状态放入父组件(在本例中为App ),并通过Navbar传递支持

代码语言:javascript
复制
export default function App() {
 const [darkModeToggle, setDarkModeToggle] = useState(false);
    return (
        <div className='layout'>
            <Navbar darkModeToggle={darkModeToggle} setDarkModeToggle={setDarkModeToggle}/>
            <Routes>
                <Route path='/' element={<Home />} />
                <Route path='/about' element={<About />} />
                <Route path='/services' element={<Services />} />
                <Route path='/contact' element={<Contact />} />
                <Route path='*' element={<NotFound />} />
            </Routes>
        </div>
    );
}

在纳瓦尔巴

代码语言:javascript
复制
function Navbar({darkModeToggle, setDarkModeToggle}) {
  return (
    <>
      <header className="header">
        <div className="header__container">
          <div
            className={
              darkModeToggle
                ? "header__container__darkmode active"
                : "header__container__darkmode"
            }
            onClick={() => {
              setDarkModeToggle(!darkModeToggle);
            }}
          >
            <BiSun className="sun" />
            <BiMoon className="moon" />
          </div>
        </div>
      </header>
    </>
  );
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73586339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档