Slate React

此子库包含 Slate 的特定于 React 的逻辑。

组件(Components)

用于渲染 Slate 编辑器的 React 组件

RenderElementProps

RenderElementProps 被传递给 renderElement 处理函数。

RenderLeafProps

RenderLeafProps 被传递给 renderLeaf 处理函数。

Editable

主要的 Slate 编辑器。

DefaultElement(props: RenderElementProps)

默认元素渲染器。

DefaultLeaf(props: RenderLeafProps)

默认的自定义叶子渲染器。

Slate(editor: ReactEditor, value: Node[], children: React.ReactNode, onChange: (value: Node[]) => void, [key: string]: any)

提供程序周围的包装器来处理 onChange 事件,因为编辑器是可变的单例,因此它永远不会注册为「已更改」。

钩子(Hooks)

Slate 编辑器的 React 钩子。

useFocused

获取编辑器的当前 focused 状态。

useReadOnly

获取编辑器的当前 readOnly 状态。

useSelected

获取编辑器的当前 selected 状态。

useSlate

React 上下文中获取当前编辑器对象。每当编辑器中发生更改时,都会重新呈现上下文。

useSlateStatic

React 上下文中获取当前编辑器对象。未重新呈现上下文的 useSlate 版本。以前称为 useEditor

ReactEditor

编辑器接口的 ReactDOM 特定版本。关于 DOMSlate 之间的转义。

findKey(editor: ReactEditor, node: Node)

查找 Slate 节点的 key。

findPath(editor: ReactEditor, node: Node)

查找 Slate 节点的 路径(path)

isFocused(editor: ReactEditor)

检查编辑器是否 focus。

isReadOnly(editor: ReactEditor)

检查编辑器是否处于只读模式。

blur(editor: ReactEditor)

Blur 编辑器。

focus(editor: ReactEditor)

Focus 编辑器。

deselect(editor: ReactEditor)

取消选择编辑器。

hasDOMNode(editor: ReactEditor, target: DOMNode, options: { editable?: boolean } = {})

检查DOM节点是否在编辑器中。

insertData(editor: ReactEditor, data: DataTransfer)

DataTransfer 中的数据插入编辑器。

setFragmentData(editor: ReactEditor, data: DataTransfer)

DataTransfer 上设置当前选定片段的数据。

toDOMNode(editor: ReactEditor, node: Node)

Slate 节点中查找原生DOM元素。

toDOMPoint(editor: ReactEditor, point: Point)

Slate Point 中查找原生DOM selection point

toDOMRange(editor: ReactEditor, range: Range)

Slate Range 中查找原生DOM range

toSlateNode(editor: ReactEditor, domNode: DOMNode)

从原生DOM元素中查找 Slate 节点。

findEventRange(editor: ReactEditor, event: any)

DOM event 中获取目标范围。

toSlatePoint(editor: ReactEditor, domPoint: DOMPoint)

DOM 选择的 domNodedomOffset 中找到 Slate Point

toSlatePoint(editor: ReactEditor, domPoint: DOMPoint)

DOM范围或选择中查找 Slate 范围。

插件(Plugins)

针对 Slate 编辑器的特定于 React 的插件

withReact(editor: Editor)

向编辑器添加特定于 ReactDOM的行为。

工具

私有功能模块。