diff --git a/packages/next/server/render.tsx b/packages/next/server/render.tsx index b83440b2ca16..b41e52f36539 100644 --- a/packages/next/server/render.tsx +++ b/packages/next/server/render.tsx @@ -431,14 +431,7 @@ function createServerComponentRenderer( return root } - // Although it's not allowed to attach some static methods to Component, - // we still re-assign all the component APIs to keep the behavior unchanged. - for (const methodName of [ - 'getInitialProps', - 'getStaticProps', - 'getServerSideProps', - 'getStaticPaths', - ]) { + for (const methodName of Object.keys(Component)) { const method = (Component as any)[methodName] if (method) { ;(ServerComponentWrapper as any)[methodName] = method @@ -1375,7 +1368,7 @@ export async function renderToHTML( {isServerComponent && !!AppMod.__next_rsc__ ? ( // _app.server.js is used. - + ) : ( )} diff --git a/test/integration/react-streaming-and-server-components/switchable-runtime/pages/_app.server.js b/test/integration/react-streaming-and-server-components/switchable-runtime/pages/_app.server.js index 0d80a5a8abb3..15ab2f9fdc71 100644 --- a/test/integration/react-streaming-and-server-components/switchable-runtime/pages/_app.server.js +++ b/test/integration/react-streaming-and-server-components/switchable-runtime/pages/_app.server.js @@ -1,6 +1,6 @@ export default function AppServer({ children }) { return ( -
+
{children}
diff --git a/test/integration/react-streaming-and-server-components/switchable-runtime/pages/node-rsc.server.js b/test/integration/react-streaming-and-server-components/switchable-runtime/pages/node-rsc.server.js index 4a725cf2f070..aa0133d5f374 100644 --- a/test/integration/react-streaming-and-server-components/switchable-runtime/pages/node-rsc.server.js +++ b/test/integration/react-streaming-and-server-components/switchable-runtime/pages/node-rsc.server.js @@ -13,6 +13,8 @@ export default function Page() { ) } +Page.title = 'node-rsc' + export const config = { runtime: 'nodejs', } diff --git a/test/integration/react-streaming-and-server-components/test/switchable-runtime.test.js b/test/integration/react-streaming-and-server-components/test/switchable-runtime.test.js index eb7462329cfe..eec271208a27 100644 --- a/test/integration/react-streaming-and-server-components/test/switchable-runtime.test.js +++ b/test/integration/react-streaming-and-server-components/test/switchable-runtime.test.js @@ -38,7 +38,7 @@ async function testRoute(appPort, url, { isStatic, isEdge, isRSC }) { // Should be re-rendered. expect(renderedAt1).toBeLessThan(renderedAt2) } - const customAppServerHtml = '
' + const customAppServerHtml = '
{ isEdge: false, isRSC: true, }) + + const html = await renderViaHTTP(context.appPort, '/node-rsc') + expect(html).toContain('data-title="node-rsc"') }) it('should build /node-rsc-ssr as a dynamic page with the nodejs runtime', async () => {