检查在DraftJS中是否更改了contentState的最佳性能方法,还是仅仅是editorState

Slb*_*box 6 javascript reactjs draftjs

我试图只在contentState本身发生变化时才运行函数,而不仅仅是editorState.

我现在的想法是将旧的contentState存储为字符串,并将其作为字符串与新的contentState进行比较,但将状态转换为字符串并进行比较似乎非常浪费.有没有更好的办法?

Md.*_*med 4

你可以简单地比较你的价值old state和你的价值,new state你不必convert这样做string

\n\n

编辑:这是一个关于反应的概念state,您不必担心,因为large state object最佳实践建议这样做

\n\n
\n

常见的误解:state保存在large object. 它\xe2\x80\x99 只是引用一些其他对象的对象。没什么大不了的。

\n
\n

  • 请注意,由于它们是不可变的对象,因此比较很快就能完成。这是比较身份,而不是内容。也就是说,`this.state.editorState.getCurrentContent() === newEditorState.getCurrentContent()` (2认同)