react 搭建博客---支持markdown的富文本编辑器

最近在学nodejs,准备配合react+mongodb搭个博客,找了很多富文本编辑器,都不是很适合react用,后来看到一篇vue+node搭建博客文章,里面使用的simplemde(github地址),完全就符合我的想法啊,界面简洁大方还有预览功能
附上官方demo
用法也相当简单,官方介绍的是外链的引用方法,下面我说一下如何配合 makded 语法库和 highlight.js 代码高亮插件应用到react中

首先安装相关依赖

npm install simplemde marked highlight.js  --save

ps:simplemde官方的css也要引入到项目中,不然样式会缺失

在组件中引入

import SimpleMDE from 'simplemde'
import marked from 'marked'
import highlight from 'highlight.js'

基本使用

在constructor中new一个SimpleMDE编辑器
render中要有对应的DOM  <textarea id="editor"></textarea>

this.smde = new SimpleMDE({
        element: document.getElementById('editor').childElementCount,autofocus: true,autosave: true,previeWrender: function(plainText) {
                return marked(plainText,{
                        renderer: new marked.Renderer(),gfm: true,pedantic: false,sanitize: false,tables: true,breaks: true,smartLists: true,smartypants: true,highlight: function (code) {
                                return highlight.highlightAuto(code).value;
                        }
                });
        },})

获取编辑器内容

this.smde.value()

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...