1

我正在尝试围绕Draft.js 中的自定义块组件进行思考,并且我正在关注本教程

本教程提到了一种检测输入并进入自定义块模式的方法,在这种情况下,[]当输入块为空时,我们进入 todo 模式并渲染 TodoBlock。

现在,由于我们handleBeforeInput用于检测是否需要进入 todo 模式,我们将 liveeditorState作为回调并能够避免竞争条件

我想通过按下外部按钮来实现自定义块状态,在这种情况下,分隔模式来呈现 DividerBlock 但在自定义按钮中,我只有本地组件editorState可以使用。

我遇到了竞态条件,无法进入自定义阻止模式。

这是迄今为止我探索的一个代码框。

因此,总而言之,有两个自定义块:-

  • TodoBlock - 通过 handleBeforeInput 进入 todo 块模式,即获取实时编辑器状态回调,这有效。

  • DividerBlock - 通过外部按钮进入分隔块模式,即通过本地组件获取编辑器状态,这可能是陈旧的,这不起作用

4

0 回答 0