最近,我發現了自定義瀏覽器事件的力量 - 我以前從未探索過的一種令人驚訝的方便工具。 您可以創建並觸發自己的自定義事件,然後在應用程序中聆聽它們。 這打開了有效的溝通可能性。
為什麼使用自定義事件?
雖然擴展名的細節是機密的,但請想像汽車製造商(豐田,福特,梅賽德斯)的服務。每個都需要獨特的處理,從而產生單獨的邏輯文件 - 而不是反應組件。 標準的反應工具,例如
,上下文或redux/mobx不直接適用。>
useState
自定義事件提供了解決方案。
自定義事件的工作方式
>
<code class="language-javascript">window.addEventListener(type, listener);</code>
type
:派遣事件時執行的功能。 可以添加一個可選的listener
options
:事件名稱(必須匹配
in<code class="language-javascript">const event = new CustomEvent(eventName, { detail }); window.dispatchEvent(event);</code>
eventName
:一個包含傳遞給偵聽器的數據的對象。這使自定義事件高度靈活。 type
addEventListener
detail
在我的Chrome擴展中:<code class="language-javascript">useEffect(() => { const handleCustomEvent = (event: CustomEvent) => { console.log(event.detail); }; window.addEventListener(ADD_CUSTOM_EVENT, handleCustomEvent); return () => { window.removeEventListener(ADD_CUSTOM_EVENT, handleCustomEvent); }; }, []);</code>
<code>* `ADD_CUSTOM_EVENT`: A constant (prevents typos). * `handleCustomEvent`: Logs the event's `detail` object (in this simplified example).</code>
以上是瀏覽器中的自定義事件:您沒有的方便工具知道您需要的詳細內容。更多資訊請關注PHP中文網其他相關文章!