From 37c3104366d04ea8a1e8bfc1fbf97b59dfb00744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EA=B2=BD=ED=99=94?= Date: Thu, 15 Sep 2022 10:29:44 +0900 Subject: [PATCH] fix(next/router): Prevent query delete in routing when next.config basePath option is true --- packages/next/shared/lib/router/router.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/next/shared/lib/router/router.ts b/packages/next/shared/lib/router/router.ts index cf1180fd6766ee0..cda9125962a0719 100644 --- a/packages/next/shared/lib/router/router.ts +++ b/packages/next/shared/lib/router/router.ts @@ -1552,7 +1552,11 @@ export default class Router implements BaseRouter { query = Object.assign({}, routeInfo.query || {}, query) } - if (routeMatch && pathname !== parsed.pathname) { + const cleanedParsedPathname = hasBasePath(parsed.pathname) + ? removeBasePath(parsed.pathname) + : parsed.pathname + + if (routeMatch && pathname !== cleanedParsedPathname) { Object.keys(routeMatch).forEach((key) => { if (routeMatch && query[key] === routeMatch[key]) { delete query[key]