Server-side JSX for Deno
A simple JSX library for server-side rendering with Deno.
Basic example
/** @jsx h */
/** @jsxFrag Fragment */
import { Fragment, h, renderJSX } from "./mod.js";
const html = await renderJSX(
<h1>Hello World 😎</h1>,
);
Async components
Supports functional components. Asynchronous components are resolved concurrently.
const Welcome = async function ({ userId }) {
const user = await findUser(userId);
return <span>Welcome, {user.name}!</span>;
};
const html = await renderJSX(
<page>
<Welcome userId={id} />
</page>,
);
Partial rendering
Passing a target id will only render the target HTML element.
const partial = await renderJSX(<Page />, { targetElementId: "search-form" });
// <form id="search-form">...</form>
TODO
- write more tests
- stream output?
- typescript?
- memoize components