From fa990dd9b7c73dd061cb5b6531f1a276f2fd6eb2 Mon Sep 17 00:00:00 2001 From: Tobias Lins Date: Thu, 25 Jan 2024 14:20:45 +0100 Subject: [PATCH] Improve route support (#51) --- packages/web/package.json | 2 +- packages/web/src/nextjs/utils.ts | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/web/package.json b/packages/web/package.json index 3324906..bf141d6 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@vercel/speed-insights", - "version": "1.0.7", + "version": "1.0.8", "description": "Speed Insights is a tool for measuring web performance and providing suggestions for improvement.", "keywords": [ "speed-insights", diff --git a/packages/web/src/nextjs/utils.ts b/packages/web/src/nextjs/utils.ts index 0e3a03c..5a193c6 100644 --- a/packages/web/src/nextjs/utils.ts +++ b/packages/web/src/nextjs/utils.ts @@ -1,5 +1,4 @@ 'use client'; -import { useMemo } from 'react'; import { useParams, usePathname, useSearchParams } from 'next/navigation.js'; import { computeRoute } from '../utils'; @@ -8,15 +7,11 @@ export const useRoute = (): string | null => { const searchParams = useSearchParams(); const path = usePathname(); - const finalParams = useMemo(() => { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- can be null on pages router - if (!params) return null; - if (Object.keys(params).length !== 0) { - return params; - } - // For pages router, we need to use `searchParams` because `params` is an empty object - return { ...Object.fromEntries(searchParams.entries()) }; - }, [params, searchParams]); + const finalParams = { + ...Object.fromEntries(searchParams.entries()), + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- can be empty in pages router + ...(params || {}), + }; return computeRoute(path, finalParams); };