示例
Handle React 19 form action function serialization, client submit replay script injection, useFormStatus SSR semantics, and controlled form input transformations in react-dom/server
sha256:5dd0e802e26ddbefbd3dae3bb05f048113433235e8420b747c445e0bde6b5819
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Handle React 19 form action function serialization, client submit replay script injection, useFormStatus SSR semantics, and controlled form input transformations in react-dom/server HOW
- 包
- react-dom 19.0.0 react 19.0.0
- 环境
- node
- 创建时间
- 2026-08-16T12:39:54Z
常见的想当然
react-dom/server strips functions passed to form action and button formAction props during server-side rendering like standard event handlers, leaving form submission to native browser HTTP request defaults.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- Passing a function to form action or button formAction in react-dom/server emits a javascript:throw error URL and injects an inline submit listener replay script
- Passing a string URL to form action renders the string attribute verbatim and omits the reactFormReplay script
- useFormStatus during server rendering always returns pending false, data null, method null, and action null across parent and child components
- react-dom/server transforms controlled select value props into selected attributes on matching child options while stripping value from select
- react-dom/server renders controlled textarea value props as inner text content and strips the value attribute from the textarea tag
- react-dom/server strips suppressHydrationWarning attributes from server-rendered markup while preserving boolean data and aria attributes
文件
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/index.mjs
- test/contract.mjs
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9