gpt4 book ai didi

javascript - ReactJS onclick 向另一个元素添加或删除类

转载 作者:行者123 更新时间:2023-12-03 20:24:45 25 4
gpt4 key购买 nike

我正在努力将我的普通 jQuery 代码转换为 React JS(我是 React 的新手)。
我有以下代码:

$(".add").click(function () {
$("nav").addClass("show");
});
$(".remove").click(function () {
$("nav").removeClass("show");
});
$(".toggle").click(function () {
$("nav").toggleClass("show");
});
nav {
width: 250px;
height: 150px;
background: #eee;
padding: 15px;
margin-top: 15px;
}
nav.show {
background: red;
color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<button class="add">Add</button>
<button class="remove">Remove</button>
<button class="toggle">Toggle</button>
<nav>Navigation menu</nav>

尝试过的引用似乎只为同一元素添加/删除类:
https://stackoverflow.com/a/42630743/6191987
How to add or remove a className on event in ReactJS?
那么,如何将相同的 jQuery 方法转换或创建为 ReactJS?

最佳答案

  • 使用跟踪是否显示导航的状态。
  • 在 react 代码中使用与状态相对应的类名。
  • React 使用“className”而不是“class”,因为“class”已经是 javascript 中的保留字。

  • 您可以查看 sandbox link for implementation
    function App() {
    const [show, setShow] = React.useState();

    return (
    <div className="App">
    <button className="add" onClick={() => setShow(true)}>
    Add
    </button>
    <button className="remove" onClick={() => setShow(false)}>
    Remove
    </button>
    <button className="toggle" onClick={() => setShow(!show)}>
    Toggle
    </button>
    <nav className={show ? "show" : ""}>Navigation menu</nav>
    </div>
    );
    }

    关于javascript - ReactJS onclick 向另一个元素添加或删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63465362/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com