代码之家  ›  专栏  ›  技术社区  ›  yush

反应:在组件中使用QuerySelectorAll

  •  0
  • yush  · 技术社区  · 5 年前

    将此JS代码与React合并的最佳方式是什么?

      document.querySelectorAll(".servicesaffectedtag").forEach((tag) => {
        tag.addEventListener("click", (event) => {
          tag.classList.toggle("active-tag");
        });
      });
    

    这是不是需要深入研究的问题 ComponentDidMount() 作用

    提前谢谢!

    0 回复  |  直到 5 年前
        1
  •  1
  •   simon    5 年前

    在react中,可以使用REF引用图元。( https://reactjs.org/docs/refs-and-the-dom.html )

    然而,更好的解决方案是在每个元素上放置一个onClick侦听器,并使用三元运算符根据状态更改类( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator )像这样:

    <tag 
    onClick={() => { classActive ? setClassActive(false) : setClassActive(true) }} className={classActive ? "active-tag" : "" }
    >
    </tag>