这是一个什么类型的问题?
- React Compiler核心(JS输出不正确,或者在优化后您的应用程序工作不正确)
- babel-plugin-react-compiler(安装或使用Babel插件时的构建问题)
- eslint-plugin-react-compiler(安装或使用eslint插件时的构建问题)
- react-compiler-healthcheck(安装或使用健康检查脚本时的构建问题)
重现链接
https://github.com/coleea/bug-report-next15-server-action
重现步骤
只需运行命令 npx react-compiler-healthcheck@latest
。
然后,即使Next.js实际上是StrictMode,react-compiler-healthcheck也不会检查StrictMode。
Next.js默认情况下在满足以下两个条件时处于StrictMode:
- Next.js版本13.4+
- App路由器
您可以查看此内容: https://rc.nextjs.org/docs/app/api-reference/next-config-js/reactStrictMode
因此,需要额外的三个步骤来检查是否启用了StrictMode。 - 检查package.json中的Next.js版本是否超过13.4。
- 如果是,请检查
reactStrictMode: false
是否未设置。 - 检查项目是否基于App-Router。
如果满足三个条件,该项目即使在next.config.mjs
文件上未设置reactStrictMode: true
,也基于StrictMode。
此错误发生的频率如何?
每次都发生
您正在使用的React版本是什么?
19.0.0-rc.0
5条答案
按热度按时间laik7k3q1#
如果我的论点没有错,我愿意去实施它,所以请回复。
3mpgtkmj2#
这已经修复了:#29167
一旦我们发布健康检查脚本的新版本,它就会推出。
68bkxrlz3#
@gsathya
您提到的PR只是检查
reactStrictMode: true
中是否存在next.config.mjs
选项。这还不够。我在阅读这个PR后写了这个问题。
doinxwow4#
有6个案例
reactStrictMode: true
=> 严格模式。PR覆盖此情况。reactStrictMode: false
=> 非严格模式。PR覆盖此情况。reactStrictMode option is not set
=> 严格模式。PR不覆盖此情况。reactStrictMode: true
=> 严格模式。PR覆盖此情况。reactStrictMode: false
=> 非严格模式。PR覆盖此情况。reactStrictMode option is not set
=> 非严格模式。PR覆盖此情况。请检查第3个案例,以确定#29167是否覆盖此情况。
clj7thdc5#
好的,我会重新打开这个。