/Knowledge/sources/honojs__hono/llms-full/jsx-renderer-middleware-options-stream-boolean-record--1ef097a5a8f2.md
JSX Renderer Middleware: Options > stream: boolean | Record - hono-docs
JSX Renderer Middleware: Options stream: boolean | Record Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full....
JSX Renderer Middleware: Options > stream: boolean | Record
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#stream-boolean-record
Summary
If you set it to true or provide a Record value, it will be rendered as a streaming response. ```tsx const AsyncComponent = async () => { await new Promise((r) => setTimeout(r, 1000)) // sleep 1s return Hi! } app.get( '*', jsxRenderer(...
Content
If you set it to true or provide a Record value, it will be rendered as a streaming response.
const AsyncComponent = async () => {
await new Promise((r) => setTimeout(r, 1000)) // sleep 1s
return <div>Hi!</div>
}
app.get(
'*',
jsxRenderer(
({ children }) => {
return (
<html>
<body>
<h1>SSR Streaming</h1>
{children}
</body>
</html>
)
},
{ stream: true }
)
)
app.get('/', (c) => {
return c.render(
<Suspense fallback={<div>loading...</div>}>
<AsyncComponent />
</Suspense>
)
})
If true is set, the following headers are added:
{
'Transfer-Encoding': 'chunked',
'Content-Type': 'text/html; charset=UTF-8',
'Content-Encoding': 'Identity'
}
You can customize the header values by specifying the Record values.
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#stream-boolean-record",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / JSX Renderer Middleware > Options > stream: `boolean` | `Record `",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 239,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "JSX Renderer Middleware: Options > stream: boolean | Record",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}