内置 React DOM 钩子

react-dom 包含仅支持 Web 应用(在浏览器 DOM 环境中运行)的钩子。这些钩子在非浏览器环境(如 iOS、Android 或 Windows 应用)中不受支持。如果您正在寻找在 Web 浏览器_和其他环境_中都支持的钩子,请参阅React 钩子页面。此页面列出了 react-dom 包中的所有钩子。


表单钩子

Canary 版本

表单钩子目前仅在 React 的 Canary 和实验通道中可用。在此处详细了解React 的发布通道

_表单_允许您创建用于提交信息的交互式控件。要管理组件中的表单,请使用以下钩子之一

function Form({ action }) {
async function increment(n) {
return n + 1;
}
const [count, incrementFormAction] = useActionState(increment, 0);
return (
<form action={action}>
<button formAction={incrementFormAction}>Count: {count}</button>
<Button />
</form>
);
}

function Button() {
const { pending } = useFormStatus();
return (
<button disabled={pending} type="submit">
Submit
</button>
);
}