我有一個 html 頁面:
- html元素
- 一些空的 div 將被 react 元素替換。
我想聽一個來自 react 組件的 html 元素的“點擊事件”。
在這里,我需要在“react-component”中輸入一個事件,當我們單擊“click”元素時將觸發該事件。
<div id="click">button in static html</div>
<div id="react-component"></div> -> replace by a react component
有沒有辦法實作這一目標?謝謝
uj5u.com熱心網友回復:
onClick 任何 html 標簽上的事件處理程式都將起作用
uj5u.com熱心網友回復:
你仍然可以在 react 中撰寫普通的 JS 代碼。只需添加一個useEffect(..., [])鉤子并使用其中的標準 JS 代碼系結 onClick 按鈕即可。
這是 JS onclick 事件的檔案:https : //developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick
uj5u.com熱心網友回復:
如果你想聽任何點擊事件(點擊任何地方),你可以在你的反應組件的 useEffect 中使用經典的 eventListener :
useEffect(() => {
window.addEventListener('click', () => { you function });
return () => window.removeEventListener('click', () => { you function });
});
如果您想要收聽應用程式給定部分的點擊事件,我建議您從它的組件中處理它,并將回呼傳遞給您想要處理該事件的那個。
uj5u.com熱心網友回復:
一些方法。
其中之一是使用querySelector或getElementById像您在 vanilla JS 中那樣使用。
所以你可以這樣做:
// HTML:
<div id="click">button in static html</div>
<div id="react-component"></div> -> replace by a react component
// JSX:
const myElement = document.getElementById("click");
myElement.onclick = () => {
...
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/338329.html
標籤:javascript 反应 反应钩子
上一篇:動態加載時手風琴不起作用
