我如何在 React 中使用 useEffect 来 运行 仅在组件首次安装时使用一些代码,而在事件发生时(重复)使用一些其他代码?

How can I use useEffect in React to run some code only when the component first mounts, and some other code whenever an event occurs (repeatedly)?

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

仅供参考:变量是 window 属性

提前致谢!

有两个单独的效果来处理每种情况。

情况一:组件挂载时

useEffect(
  () => {
    // do something
  },
  [] // no dependency: run once
)

情况二:变量变化时

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