1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-01-18 05:59:13 +01:00

docs: Add documentation to help with TypeScript migration

This commit is contained in:
Sunny Hirai 2021-04-01 13:39:50 -07:00
parent b8cf19a279
commit 57174a318e

View File

@ -4,6 +4,16 @@ Slate supports typing of one Slate document model (ie. one set of custom `Editor
**Warning:** You must define `CustomTypes` when using TypeScript or Slate will display typing errors.
> Migrating from 0.47.x?
>
> Please read the guide below first to understand CustomTypes.
>
> If you are having issues, here are the most common migration gotchas:
>
> - You get typing errors when referring to `node.type` (Property `type` does not exist on type `Node`). To fix this, you need something like `Element.isElement(node) && node.type === 'paragraph'`. This is because a `Node` can be an `Element` or `Text` and `Text` does not have a `type` property.
>
> - You may have defined CustomType for `Editor` incorrectly. Make sure to define the CustomType for `Editor` as `BaseEditor & ...`. It should not be `Editor & ...`
## Defining `Editor`, `Element` and `Text` Types
To define a custom `Element` or `Text` type, extend the `CustomTypes` interface in the `slate` module like this.