From 4de0b3c177f55c375368d0ab6c8e5798167a1964 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sat, 19 Oct 2019 16:48:39 +0100 Subject: [PATCH] Clean up useEventEmitter --- src/hooks/useEventEmitter.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/hooks/useEventEmitter.js b/src/hooks/useEventEmitter.js index 0cd57bc209..56676bf871 100644 --- a/src/hooks/useEventEmitter.js +++ b/src/hooks/useEventEmitter.js @@ -1,3 +1,19 @@ +/* +Copyright 2019 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + import {useRef, useEffect} from "react"; // Hook to wrap event emitter on and removeListener in hook lifecycle @@ -6,19 +22,12 @@ export const useEventEmitter = (emitter, eventName, handler) => { const savedHandler = useRef(); // Update ref.current value if handler changes. - // This allows our effect below to always get latest handler ... - // ... without us needing to pass it in effect deps array ... - // ... and potentially cause effect to re-run every render. useEffect(() => { savedHandler.current = handler; }, [handler]); useEffect( () => { - // Make sure element supports on - const isSupported = emitter && emitter.on; - if (!isSupported) return; - // Create event listener that calls handler function stored in ref const eventListener = event => savedHandler.current(event);