9

onChange事件,但它也会在 carret 移动或导航(箭头等)按钮被按下时触发。

我想检测内容是否已更改。基本上,当第一次更改发生时,我只需要检测一次。“比较内容”这种愚蠢的方式在这里可能会奏效,但这是一种反模式,因为这项任务过于耗费资源。

4

1 回答 1

17

由于 Draft 使用不可变的数据结构,因此不必占用大量资源——比较引用就足够了:

onChange(newEditorState) {
  const currentContent = this.state.editorState.getCurrentContent()
  const newContent = newEditorState.getCurrentContent()

  if (currentContent !== newContent) {
    // Content has changed
  }
}
于 2017-01-25T10:26:34.443 回答