useEffect 在生产版本 NextJS 中不起作用

问题描述 投票:0回答:1

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

reactjs next.js react-hooks
1个回答
0
投票

是的,假设您使用的是 React 18 或更高版本,这是预期的。在这段视频中,演讲者提到了同样的问题。 链接到视频。我假设您的清理工作未被调用,因为您的组件未卸载,否则这不是预期的行为。

© www.soinside.com 2019 - 2024. All rights reserved.