【发布时间】:2015-08-16 13:35:39
【问题描述】:
我正在寻找将 contenteditable 的元素作为 React 组件进行管理的方法。
通过 React DevTools 扩展探索 Facebook 的源代码,发现他们编写了一个 contenteditable 评论编辑器,似乎完全由 React 管理。
您可以在组件树中看到,更新conteneditable 会触发对作为contenteditable 子级的组件树的更新。
【问题讨论】:
-
不清楚你的编程问题是什么。要求某人详细说明如何创建复杂的编辑器太宽泛了。
-
那些熟悉 React 的人应该知道在提供流畅的用户体验的同时管理可靠的 contenteditable 元素状态的困难。我不是在问如何创建复杂的编辑器,有很多这样的;我宁愿询问如何将 contenteditable 元素的状态作为 React 组件进行管理。
-
Facebook 很可能已经投入了无数小时来使控制工作变得如此顺利。您可能可以重新实现它,但需要大量工作。众所周知,Contenteditable 元素充满了棘手的边缘情况和浏览器兼容性问题。他们的组件很可能没有打开也不能打开 - 它可能与系统的其余部分集成得太深。