NextJS 14标记use-client后仍报useState相关错误的问题咨询
解决Next.js 14中标记"use-client"仍报错的问题
你的问题出在"use-client"指令的格式上——组件代码里用了HTML实体转义的引号("),Next.js无法识别这种格式的客户端组件指令,导致它仍然把Footer当成服务端组件处理,进而报出useState只能在客户端组件使用的错误。
修正后的Footer组件代码
"use client"; import { useEffect, useState } from "react"; import classes from './style.module.scss'; const Footer = () => { const [value, setValue] = useState(); return ( <div> <footer className={classes.footer}>test</footer> </div> ); }; export default Footer;
关键注意事项
"use client"必须是文件第一行代码,前面不能有任何空行、注释或其他语句- 必须使用真实的单引号或双引号,不能用HTML实体转义的引号
- 父组件(比如你的HomePage)不需要额外标记
"use client",Next.js会自动识别客户端组件的边界,只要子组件正确标记即可
内容的提问来源于stack exchange,提问作者SnailCode
相关产品推荐
相关产品推荐

