import { useEffect } from 'react'; import PropTypes from 'prop-types'; import ReactGA from 'react-ga'; const logPageChange = (pathname, search = '', options) => { const page = pathname + search; const { location } = window; ReactGA.set({ page, location: `${location.origin}${page}`, ...options }); ReactGA.pageview(page); }; function Analytics({ location, options }) { useEffect(() => { logPageChange(location.pathname, location.search, options); }, [location, options]); return null; } Analytics.propTypes = { location: PropTypes.shape({ pathname: PropTypes.string, search: PropTypes.string }).isRequired, options: PropTypes.object }; export default Analytics;