You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 13 服务端Props传递至客户端组件失败问题求助

Next.js 13服务端变量传递到客户端组件报错问题解决

尝试在Next.js 13中将服务端声明的变量传递给带"use client"指令的客户端组件时,出现两个问题:

  • 客户端组件中console.log(data)输出undefined
  • 抛出错误:SyntaxError: Unexpected token u in JSON at position 0

(注:示例中的组件无需放在客户端,仅作为问题演示)

服务端代码

import Props from "./Components/props"

export default function Home() {
  const x = 'hello'

  return (
    <main>
      <Props data = {x} />
      <p>Hello</p>
    </main>
  )
}

客户端代码(错误版本)

&quot;use client&quot;

export default function Props({ data }) {
    console.log(data);

    return (
        <p>Test</p>
      );
    };

问题原因

客户端组件中的"use client"指令被写成了HTML转义后的&quot;use client&quot;,Next.js无法识别这种格式的指令,导致组件没有被正确标记为客户端组件。服务端传递的Props无法被正确序列化处理,最终引发undefined和JSON解析错误。

解决方案

将客户端组件中的转义引号替换为正常的双引号,确保"use client"指令格式正确:

"use client"

export default function Props({ data }) {
    console.log(data);

    return (
        <p>Test</p>
    );
};

修改后,服务端变量x会正常传递到客户端组件,console.log(data)将输出hello,报错也会消失。

内容的提问来源于stack exchange,提问作者Collin Huber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 22:42:12