UNPKG

design-system-govbr-rnp

Version:

## Padrão Digital de Governo - React Biblioteca de componentes React que implementa o [Padrão Visual digital do governo](https://www.gov.br/ds/). O objetivo da biblioteca é facilitar a implementação e promover a padronização das interfaces de sistemas do

35 lines (34 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useKeyPress = useKeyPress; var _react = require("react"); function useKeyPress(eventName, handler) { var element = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window; // Create a ref that stores handler var savedHandler = (0, _react.useRef)(); // Atualize o valor ref.current se o manipulador for alterado. // Isso permite que nosso efeito abaixo sempre obtenha o manipulador mais recente ... // ...sem que precisemos passá-lo no array deps de efeito... // ...e potencialmente causar efeito para reexecutar cada renderização. (0, _react.useEffect)(function () { savedHandler.current = handler; }, [handler]); (0, _react.useEffect)(function () { // Verifique se o elemento suporta addEventListener var isSupported = element && element.addEventListener; if (!isSupported) return; // Crie um ouvinte de eventos que chama a função de manipulador armazenada em ref var eventListener = function eventListener(event) { return savedHandler.current(event); }; // Add event listener element.addEventListener(eventName, eventListener); // Remover event listener de cleanup return function () { element.removeEventListener(eventName, eventListener); }; }, [eventName, element] // Execute novamente se eventName element changes atualizar ); }