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…"/>
<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…"
/>
<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>
)
}
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…"/>
<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…"
/>
<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>
)
}