IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Ant design pro-项目探究(7)react的markdown编辑器 -> 正文阅读

[JavaScript知识库]Ant design pro-项目探究(7)react的markdown编辑器

前言

普通的input和textarea已满足大部分的文本记录,但想要让输入文本更加多样化,markdown编辑器可谓是yyds。但是vue版本的markdown编辑器众多,基于react版本的编辑器就相当少一些。以下是整合和探究react版本的markdown的实践。

  • react-markdown-editor-lite
    官网或者直接搜索即可获得安装的办法
npm install react-markdown-editor-lite --save
# or
yarn add react-markdown-editor-lite
  • 结合markdown-it
npm install markdown-it --save
  • 页面引入样式、react-markdown-editor-lite,结合markdown-it
import MarkdownIt from 'markdown-it';
import MdEditor from 'react-markdown-editor-lite';
// 导入编辑器的样式,不导入会出现毫无样式情况
import 'react-markdown-editor-lite/lib/index.css';
  • 组件调用
const Demo = () => {
// 数据保存
const [value, setValue] = useState("")
	// markdown-it 利用设置参数,具体查询markdown-it官网
  const mdParser = new MarkdownIt({
    html: true,
    linkify: false,
    typographer: true
  		}).enable('image');
	}
	// 检测markdown数据变化
  function handleEditorChange({html, text}) {
    setValue(text)
    console.log('handleEditorChange', html, text);
   }
return (
	<MdEditor
        value={value}
        onChange={handleEditorChange}
        renderHTML={text => mdParser.render(text)}
        style={
          {height: 400}
        }
        onImageUpload={
          async (file) => {
            const formData = new FormData()
            formData.append('files', file)
            // 自行图片上传功能,利用form文件表单
            return await postUrl(formData).then(
              (res => {
                if (res.code === 200) {
                  return res.data
                } else {
                  message.error("图片过大,请上传小于1mb的图片")
                }
              })
            )
          }
        }
      >
      </MdEditor>
	)
}

  • 运行截图

在这里插入图片描述

  • 至于其他功能可以利用markdown-it进行设置
  • 总结
    markdown的编辑器的调用并不困难,但是在实现图片上传这个功能时还是遇到了瓶颈,主要跟请求拦截器那块有了冲突,要先去掉拦截器的请求头部,让自动生成headers即可。
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:20:01  更:2022-03-08 22:21:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:56:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码