跳到正文
本页内容
状态客户端组件

useResetState

概览

useResetState 将安全状态与 reset 操作结合,恢复首次渲染捕获的初始值。

函数签名

ts
function useResetState<S>(initialState: S | (() => S)): UseResetStateResult<S>;

参数

initialState 可以是值或惰性初始化函数。首次解析出的值会被保留为 reset 快照。

返回值

返回只读元组 [state, setState, resetState],两个操作函数的引用都保持稳定。

行为

setState 遵循 useSafeState,卸载后忽略调用。resetState 恢复首次快照,即使后续渲染收到不同的初始化参数或基于 props 的值也不会改变快照。

SSR / RSC

初始快照捕获过程不访问浏览器,因此 SSR 输出是确定的。操作函数应在 hydration 后的 Client Component 中调用。

示例

组合使用

适合可编辑表单、筛选器或对话框,让用户一键回到打开时的状态。

源码

在 GitHub 查看实现