Draft.JS:检测内容变化的正确方法
Draft.JS: the proper way to detect content change
有 onChange 事件,但它也会在小车移动或导航(箭头等)按钮被按下时触发。
我想检测 内容 是否被更改。基本上我只需要在第一次发生变化时检测一次。愚蠢的方式 "compare content" 在这里可能行得通,但这是一种反模式,因为这个任务太耗费资源了。
由于 Draft 使用不可变数据结构,因此它不必占用大量资源——比较引用就足够了:
onChange(newEditorState) {
const currentContent = this.state.editorState.getCurrentContent()
const newContent = newEditorState.getCurrentContent()
if (currentContent !== newContent) {
// Content has changed
}
}
有 onChange 事件,但它也会在小车移动或导航(箭头等)按钮被按下时触发。
我想检测 内容 是否被更改。基本上我只需要在第一次发生变化时检测一次。愚蠢的方式 "compare content" 在这里可能行得通,但这是一种反模式,因为这个任务太耗费资源了。
由于 Draft 使用不可变数据结构,因此它不必占用大量资源——比较引用就足够了:
onChange(newEditorState) {
const currentContent = this.state.editorState.getCurrentContent()
const newContent = newEditorState.getCurrentContent()
if (currentContent !== newContent) {
// Content has changed
}
}