Sentway compiles a single React component written in JSX into a self-contained interactive page. React, ReactDOM and react-hook-form are bundled by Sentway at publish time, so a JSX page needs no build step and no package installation from the author.
Set page_type to jsx and put the component source in source. The module must export a default React component. Hooks such as useState and useEffect work normally. TypeScript syntax is not accepted; send plain JSX.
Import React from "react" as usual. Sentway resolves react, react-dom and react-hook-form against its own bundled copies. Any other import fails at publish time with a clear error rather than shipping a broken page.
A JSX page captures a form the same way an HTML page does, as long as the rendered markup contains a form element with named inputs. Quizzes, calculators and multi-step flows are the common case: render the steps in React, submit once at the end, and the answers arrive as a single submission.
Choose JSX when the page has state: a scored quiz, a multi-step intake form, a pricing calculator, a checklist that reacts to input. Choose HTML when the page is static content plus a simple form, because HTML publishes faster and has a smaller payload.