I want to load a component dynamically based on the route. I\'m trying to make a single page which can load any individual component for testing purposes.
However whe
It happens because router.query
is not ready and router.query.component
is undefined
at the very first render of dynamic page.
This would print false
at first render and true
at the following one.
console.log(path === '../../components/common/CircularLoader');
You can wrap it with useEffect
to make sure query
is loaded.
const router = useRouter();
useEffect(() => {
if (router.asPath !== router.route) {
// router.query.component is defined
}
}, [router])
SO: useRouter receive undefined on query in first render
Github Issue: Add a ready: boolean to Router returned by useRouter