如何使用 React 功能组件向元素添加 CSS 类

Ren*_*tsm 5 components function reactjs react-hooks

我想知道如何向没有任何 CSS 类的元素添加 CSS 类。我正在寻找带有 Hooks 的 React 功能组件解决方案。这里我想将类添加到标签中,并且不需要提前添加 ${myclass} 。这意味着在我们执行 addclass 功能之前标签应该没有任何属性。我尝试了以下方法,需要获得最佳实践。提前致谢!

function Trial(){
  const [myclass, changeclass] = useState("");
  const addclass=()=>{
  changeclass(`active`)
  }  
  return(
    <div>
      <h1 className={` ${myclass}`}>Hi</h1>
      <button onClick={addclass}>Click it</button>
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

Yah*_*var 5

您可以添加一个 id,然后通过以下方式操作 DOM 中的元素queryselector

在要更改其 className 的元素中

 <h1 className={`${myclass}`} id = "change-class">Hi</h1>
Run Code Online (Sandbox Code Playgroud)

然后在函数中

  const addclass=()=>{
      document.querySelector("#change-class").classList.add('new-class-name');
  } 
Run Code Online (Sandbox Code Playgroud)

所以整个代码看起来像这样

function Trial(){
 const addclass=()=>{
      document.querySelector("#change-class").classList.add('new-class-name');
  }  

return(
    <div>
     <h1 className={`${myclass}`} id = "change-class" >Hi</h1>
      <button onClick={addclass}>Click it</button>
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看此处此处