diff --git a/packages/next/client/index.tsx b/packages/next/client/index.tsx index 42b2d6e509a86cc..9ad4e7c63a0bcc5 100644 --- a/packages/next/client/index.tsx +++ b/packages/next/client/index.tsx @@ -644,6 +644,11 @@ const wrapApp = let RSCComponent: (props: any) => JSX.Element if (process.env.__NEXT_RSC) { + const getCacheKey = () => { + const { pathname, search } = location + return pathname + search + } + const { createFromFetch, } = require('next/dist/compiled/react-server-dom-webpack') @@ -651,9 +656,9 @@ if (process.env.__NEXT_RSC) { const encoder = new TextEncoder() const serverDataBuffer = new Map() const serverDataWriter = new Map() - const ssrCacheKey = location ? location.href : '' + const serverDataCacheKey = getCacheKey() function nextServerDataCallback(seg: [number, string, string]) { - const key = ssrCacheKey + ',' + seg[1] + const key = serverDataCacheKey + ',' + seg[1] if (seg[0] === 0) { serverDataBuffer.set(key, []) } else { @@ -715,11 +720,6 @@ if (process.env.__NEXT_RSC) { return fetch(url.toString()) } - const getCacheKey = () => { - const { pathname, search } = location - return pathname + search - } - function useServerResponse(cacheKey: string, serialized?: string) { const id = (React as any).useId()