在无状态组件中react contenteditable

IT技术 javascript reactjs contenteditable
2021-05-27 13:42:23

我正在尝试在无状态react组件中实现一个 contenteditable div。

我不断收到以下警告:

warning.js:36 Warning: A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.

我该如何解决?

另外我如何在更改时读取 div 的内容?

2个回答

添加suppressContentEditableWarning="true"到 contenteditable div。

参考:https : //github.com/facebook/draft-js/issues/81

与任何 React 应用程序一样,修改 DOM 的浏览器插件和扩展可能会导致草稿编辑器损坏。

例如,语法检查器可以修改 contentEditable 元素中的 DOM,添加下划线和背景等样式。由于如果浏览器不符合预期,React 无法协调 DOM,因此编辑器状态可能无法与 DOM 保持同步。

https://github.com/facebook/draft-js/issues/53

已知错误。至于读取 div 中的内容,请为元素分配一个 id 和..

oDoc = document.getElementById("divelement");
sDefTxt = oDoc.innerHTML;