一个 React Hook,用于在 Activity 组件中仅在组件挂载时运行一次函数。
与 useMount 不同,此 Hook 确保回调函数在 Activity 被隐藏和再次显示时也只执行一次。这对于只应在 Activity 上下文中运行一次的初始化逻辑特别有用,而不是每次组件变为可见时都运行。
Toggle the Activity to see the difference:
useActivityMount only executes once (initial mount)useMount executes every time Activity becomes visible请查看 API。
点击下方链接跳转 GitHub 查看源代码。
在组件挂载时调用的 function,支持异步函数。
回调函数只会在组件首次挂载时执行一次,当 Activity 在隐藏后再次显示时不会重新执行。
| Hook | Activity 中的行为 | 使用场景 |
|---|---|---|
useMount | 每次 Activity 变为可见时运行 | 用于每次显示内容时都应该发生的副作用 |
useActivityMount | 仅在首次挂载时运行一次 | 用于只应运行一次的初始化逻辑(如数据获取、订阅) |
此 Hook 内部使用带有 strictOnce=true 的 useMount,通过使用 ref 跟踪执行状态来确保回调只运行一次。
Activity API 是 React 的一个特性,允许组件被隐藏(使用 display: none)同时保留其状态。这与卸载不同,卸载会将组件完全从 DOM 中移除。