在 React 中使用 BlockNote
BlockNote 提供了强大的 React 集成,使得在您的应用中轻松添加丰富的文本编辑功能成为可能。React 绑定提供了声明式 API,能够无缝集成 React 的组件模型和状态管理模式。
关键组件
React 集成主要围绕两个部分:
useCreateBlockNote- 一个创建和管理编辑器实例的 React HookBlockNoteView- 一个带有完整 UI 的编辑器渲染组件
快速开始
下面是一个在 React 组件中集成 BlockNote 的最简示例:
import React from "react";
import { useCreateBlockNote } from "@blocknote/react";
import { BlockNoteView } from "@blocknote/mantine";
// 或者,你也可以使用 ariakit、shadcn 等。
function MyEditor() {
const editor = useCreateBlockNote();
return <BlockNoteView editor={editor} />;
}这将为您提供一个功能完备的编辑器,具有:
- 文本编辑与格式化
- 块类型(段落、标题、列表等)
- 格式化工具栏
- 用于块操作的侧边菜单
BlockNoteView
<BlockNoteView> 组件用于渲染编辑器。它还提供了许多用于编辑器特定事件的 props。
Props
Hooks
useCreateBlockNote
useCreateBlockNote Hook 用于创建新的 BlockNoteEditor 实例。
declare function (
?: ,
?: React.,
): ;useEditorChange
useEditorChange Hook 用于监听编辑器内容的变化。
declare function (
: (
: ,
: {
/**
* 返回发生变化时插入、更新或删除的块。
*/
(): ;
},
) => void,
?: ,
): ;useEditorSelectionChange
useEditorSelectionChange Hook 用于监听编辑器选择内容的变化。
declare function (
/**
* 编辑器选择变化时调用的回调函数。
*/
: () => void,
?: ,
): ;下一步
编辑器现已准备就绪!开始输入,探索工具栏中各种块类型和格式化选项。
在基本编辑器运行后,您可以继续探索: