JSX

How we use it

JSX is precompiled to static HTML on the wire. Built for fast, simple SSR.

style is a CSS string, not an object. There are no event-handler props - use Client.

hello.tsx

import type { Element } from "dashi/jsx-runtime";

export function Field(): Element {
  return (
    <label className="field" htmlFor="email">
      Email
    </label>
  );
}

output.html

<label class="field" for="email">
  Email
</label>

Types

Import these from dashi/jsx-runtime.

  • Element. The HTML JSX returns.
  • DashiNode. A JSX child: Element, number, string, etc.
  • HTMLAttributes and SVGAttributes. Shared props for HTML and SVG tags.