nextjs如何通过不同元素的onClick修改元素?

How to modify an element through a different element's onClick in nextjs?

import Link from 'next/link';

function myClick(e){
  console.log(e);
}

const Index = () => (
        <section className="min-vh-100">
            <div className="input_bar border rounded-maximum p-1 mx-1 bg-white d-flex">
                <input className="myButton submit_bar text-black" placeholder="Insert your input&hellip;"/>
                <Link href="#"><a onClick={myClick} className="input_icon"></a></Link>
            </div>
        </section>
);

我正在使用 nextjs,我正在尝试通过另一个 div 中的点击功能来更改 div 的 class,但我找不到如何操作的示例这样做,这样我就能理解它是如何工作的。谢谢。

这是一个使用 refs 的例子:

import Link from 'next/link'

const Index = () => {
  let myDiv = React.createRef()

  function myClick() {
    myDiv.current.classList.add('add-this-class')
  }

  return (
    <section className="min-vh-100">
      <div
        ref={myDiv}
        className="input_bar border rounded-maximum p-1 mx-1 bg-white d-flex"
      >
        <input
          className="myButton submit_bar text-black"
          placeholder="Insert your input&hellip;"
        />
        <Link href="#">
          <a onClick={myClick} className="input_icon" />
        </Link>
      </div>
    </section>
  )
}

了解我在这里做什么。我正在用这一行创建参考:

let myDiv = React.createRef()

然后我将它分配给我想要访问的元素,在示例中我将它分配给 div:

<div ref={myDiv} className="..." >

然后在 onClick 函数上我访问 div 并添加一个 class:

myDiv.current.classList.add('add-this-class')

让我知道这是否适合您。 (如果有,感谢 Abderrahman)

我用了hooks.

const Index = () => {
    const [className, setClassName] = useState("")

    const myClick = () => {
        setClassName("some-class")
    }

    return (
        <div>
            <button onClick={myClick}>Click me</button>
            <div className={className}>Classname gets changes</div>
        </div>
    )
}