Skip to content

PropsForRenderer

reference
1 min readUpdated

Kind: Type

Source: src/context.ts

Extracts the props for the renderer.

PropsForRenderer extracts the prop type expected by a renderer. It lets context and rendering code share the renderer’s input contract without restating prop fields.

Definition

ts
[...Required<Parameters<Renderer>>] extends [unknown, infer Props] ? Props : unknown

Diagram

mermaid
graph LR
  Renderer[Renderer type] --> PropsForRenderer[PropsForRenderer]
  PropsForRenderer --> RendererProps[Extracted renderer props]
  RendererProps --> Context[Context and render calls]

Usage

ts
import type { PropsForRenderer } from "./context";

const renderer = ({ value, onChange }: { value: string; onChange(value: string): void }) => {
  return { value, onChange };
};

type RendererProps = PropsForRenderer<typeof renderer>;

const props: RendererProps = {
  value: "hello",
  onChange(nextValue) {
    console.log(nextValue);
  },
};

AI Coding Instructions

  • Pass the renderer type to PropsForRenderer instead of manually duplicating its prop shape.
  • Keep renderer parameter types explicit so the extracted props remain accurate.
  • Update call sites when renderer props change; PropsForRenderer will reflect the new contract.
  • Use the extracted type for context values and helpers that forward props to the renderer.

Was this page helpful?

Download as PDF
PropsForRenderer — Hono (narrator proof)