import { useRouter } from 'next/router'; import { useEffect, useState } from 'react'; /** * Use `document.querySelectorAll`. * * @param {string} query - A query. * @returns {NodeListOf} - The node list. */ export const useQuerySelectorAll = ( query: string ): NodeListOf | undefined => { const [elements, setElements] = useState>(); const { asPath } = useRouter(); useEffect(() => { setElements(document.querySelectorAll(query)); }, [asPath, query]); return elements; };