BlockNote DocsReact概述

在 React 中使用 BlockNote

BlockNote 提供了强大的 React 集成,使得在您的应用中轻松添加丰富的文本编辑功能成为可能。React 绑定提供了声明式 API,能够无缝集成 React 的组件模型和状态管理模式。

关键组件

React 集成主要围绕两个部分:

  • useCreateBlockNote - 一个创建和管理编辑器实例的 React Hook
  • BlockNoteView - 一个带有完整 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,
  ?: ,
): ;

下一步

编辑器现已准备就绪!开始输入,探索工具栏中各种块类型和格式化选项。

在基本编辑器运行后,您可以继续探索: