docs/solutions/runtime-errors/2026-04-01-plate-docs-examples-should-use-platecontent-under-plate.md
PlateContent under PlateA docs example tried to mirror Slate by rendering a raw Editable inside
<Plate>. That crashed at runtime even though the page shape looked valid.
The useSlate hook must be used inside the <Slate> component's context.Editable.Using the same raw Editable component in both panes looked clean, but Plate
is not just "Slate plus more props". The Plate side needs the wrapper that
installs Plate's editable pipeline and Slate context in the right order.
Render PlateContent under <Plate> instead of raw Editable.
Before:
<Plate editor={editor as any}>
<Editable
placeholder="Enter some text…"
renderChunk={config.chunkDivs ? (renderChunk as any) : undefined}
renderElement={renderElement as any}
spellCheck
/>
</Plate>
After:
<Plate editor={editor as any}>
<PlateContent
placeholder="Enter some text…"
renderChunk={config.chunkDivs ? (renderChunk as any) : undefined}
renderElement={renderElement as any}
spellCheck
/>
</Plate>
PlateContent is the Plate-owned editable surface. It installs PlateSlate,
useEditableProps, effect wiring, and the rest of the editable stack before
rendering the underlying Slate editable. Raw Editable skips that setup, so
hooks like useSlate run without the context they expect.
Editable only for pure Slate examples.PlateContent or the repo's Editor wrapper from
editor.tsx.