Reactjs 如何在React中使用useEffect仅在组件首次装载时运行某些代码,以及在事件(重复)发生时运行某些其他代码?

Reactjs 如何在React中使用useEffect仅在组件首次装载时运行某些代码,以及在事件(重复)发生时运行某些其他代码?,reactjs,use-effect,Reactjs,Use Effect,如果标题不清楚,我想在组件装载时运行一些代码,在特定变量更改时运行一些其他代码。我可以在[]中添加变量,但问题是,我希望某些代码只运行一次,而不是在变量更改时运行 仅供参考:该变量是一个窗口属性 提前谢谢 有两种不同的效果来处理每种情况 情况1:组件安装时 useEffect( () => { // do something }, [] // no dependency: run once ) useEffect( () => { if (varia

如果标题不清楚,我想在组件装载时运行一些代码,在特定变量更改时运行一些其他代码。我可以在[]中添加变量,但问题是,我希望某些代码只运行一次,而不是在变量更改时运行

仅供参考:该变量是一个窗口属性


提前谢谢

有两种不同的效果来处理每种情况

情况1:组件安装时

useEffect(
  () => {
    // do something
  },
  [] // no dependency: run once
)
useEffect(
  () => {
    if (variable) {
      // do something
    }
  },
  [variable] // with dependency: run every time variable changes
)
情况2:变量变化时

useEffect(
  () => {
    // do something
  },
  [] // no dependency: run once
)
useEffect(
  () => {
    if (variable) {
      // do something
    }
  },
  [variable] // with dependency: run every time variable changes
)

如果变量发生更改,您希望运行一次效果,是在应用程序生命周期中运行一次,还是在组件生命周期中运行一次?应用程序中的组件可以被装载、卸载和再次装载。@DarkProgrammer很高兴能提供帮助!