useMount
组件挂载后执行一次副作用的 React Hook
useMount 在组件挂载后恰好运行一次回调,等同于 useEffect(() => { ... }, [])。它提供了一种语义清晰的方式来表达仅在挂载时执行的逻辑,无需手动指定空依赖数组。回调不接收参数,也不支持基于返回值的清理函数。
使用场景
- 运行一次性初始化逻辑,如分析跟踪、日志记录或第三方 SDK 设置
- 在组件首次渲染后立即执行 DOM 测量或命令式聚焦调用
- 用简洁的 hook 替代类组件的
componentDidMount行为
注意事项
- 无清理:
useMount不支持清理返回值。如果需要卸载清理,请配合useUnmount使用或直接使用useEffect。 - 开发验证:在开发模式下,如果提供的参数不是函数,将记录控制台错误。
- 参见
useUnmount了解对应的卸载生命周期,以及useOnceEffect了解需要 React 18 严格模式双重调用保护的场景。
Usage
Live Editor
function Demo() { const [value, setValue] = useState("未挂载"); useMount(() => { setValue("已挂载"); }); return <div>{value}</div>; };
Result
API
useMount
Returns
void
Arguments
| 参数名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| effect | 副作用函数 | () => void (必填) | - |