useEffect
在生产版本中不起作用。以下是代码片段
useEffect(() => {
console.log("useeffect 1")
return () => {
console.log("useeffect 2")
};
}, [])
开发中
useEffect
多次触发,结果是
useeffect 1
useeffect 2
useeffect 1
但是在生产环境中构建的结果是
useeffect 1
这是预期还是不预期
步骤1
npx create-next-app@latest
步骤2
'use client'
import { useEffect } from "react";
export default function Home() {
useEffect(() => {
console.log("useeffect 1")
return () => {
console.log("useeffect 2")
};
}, [])
return (
<div>TEST</div>
);
}
第3步在开发模式下运行
npm run dev
第 4 步运行生产构建
npm run build
npm run start
是的,假设您使用的是 React 18 或更高版本,这是预期的。在这段视频中,演讲者提到了同样的问题。 链接到视频。我假设您的清理工作未被调用,因为您的组件未卸载,否则这不是预期的行为。