next router query
1.0.0
next-router-queryDrop-in alternative of useRouter().query that tries it's best to get the query params on the first mount.
Have you ever gotten annoyed by the fact that
useRouter().queryis an empty object on the first mount? Great, then this is a library for you.
Given a page called post/[id].jsx that is called with /post/myId?key=value:
You will see something like this when first mounting the page:
useRouter().query // result: {} // ? With next-router-query you'll see the difference
--------- Render #1 --------
useRouter().query result: {} // ?
useRouterQuery() result: {id: 'myId', key: 'value'} // ?Once the first render is done and useRouter().query returns data, we'll simply return that instead.
URLSearchParams - you might need some polyfillyarn add next-router-query
# or
npm i next-router-queryimport { useRouterQuery } from 'next-router-query';
export function MyPage() {
const routerQuery = useRouterQuery()
// ...
}