javascript - 使用 javascript/react 在网站上创建可格式化的文本框
问题描述
我正在尝试建立一个网站,让我和我的朋友可以合作写一个故事。我的第一个问题是弄清楚如何在网站上创建一个用户可以编写的文本框,并能够进行一些基本的格式化,例如制表符和斜体。我无法找到有关如何最好地创建和保存此类文本的信息。我正在使用 Javascript 和 React 创建这个网站,可能还有一个 NoSQL 数据库来保存各种条目。任何正确方向的指针将不胜感激。
解决方案
我建议只为简单的WHYSIWYG编辑器使用预先存在的库,例如Draft.js(具有反应支持并由 facebook 维护)。请注意,您选择的任何库都需要小心存储和呈现用户输入的方式,不要让自己受到任何 XSS 攻击。如果你想为它的乐趣推出自己的,那么你将需要存储状态我会查看对象 draft.js 存储来处理这个
您将遇到的另一个问题是协作部分。您将需要某种程序来处理此问题。谷歌文档使用这个Operational Transformation。您可能还想研究 websockets 以实时处理所有这些。
推荐阅读
- intellij-idea - IntelliJ 重新格式化设置
- git - 克隆存储库时,Teamcity 内存不足
- reactjs - 在表单发布请求后在 React 中显示 JSON 表单验证错误数据
- php - Wordpress 自定义 rest api 路由未显示,如何获取调试信息
- google-chrome - Windows 上的 Chrome 在下载的文件中添加尾随下划线?
- r - R:将 as.list 应用于数据框将数字转换为字符
- android - Room delete multiple rows by WHERE IN clause not working
- javascript - Howlerjs 在使用 once() 时播放音频两次
- html - CSS 中指定的字体在 Chrome 中有效,但在 Safari 中无效 - 为什么?
- javascript - 使用 Fetch(不是 NPM)删除 Stripe 订阅项目