react中使用markdown组件——react-md-editor

2023-11-11

react中使用markdown组件

组件推荐(react-md-editor):https://github.com/uiwjs/react-md-editor

在项目中使用过后是这样的,左侧内容可以默认,可以手动回填
在这里插入图片描述

简单介绍

  • 下载依赖
npm i @uiw/react-md-editor
组件引入及使用
  • 引入:import MDEditor from ‘@uiw/react-md-editor’;
  • 引入左侧写入、右边展示的markdown,属性value为markdown文本
   <MDEditor
        value={value}
        onChange={setValue}
 	/>  

  • 预览模式,(markdown文本预览)则传入数据参数为source的markdown文本
 <MDEditor.Markdown source={value} />
自定义toolbar

readme里面介绍了怎么修改toolbar
在这里插入图片描述

以及流程图、图片、js表达式的处理,都会辅助一些其他的依赖,如katex、dom-to-image、mermaid,具体使用方式看readme示例

常用属性

previewOptions
简单示例:
重置预览内容的方法

const renderers = {
 code: ({ _, language, value }) => {
   value.replace(/\n/g, "<br/>")
   return value;
 }
};

内容替换渲染

<MDEditor.Markdown
     source={text}
     previewOptions={{ renderers }}
/>
其他属性
value: string: The Markdown value. //markdown文本

onChange?: (value: string): Event handler for the onChange event.//onChange事件

commands?: ICommand[]: An array of ICommand, which, each one, contain a commands property. If no commands are specified, the default will be used. Commands are explained in more details below.

autoFocus?: true: Can be used to make Markdown Editor focus itself on initialization.//自动焦距

previewOptions?: ReactMarkdown.ReactMarkdownProps: This is reset @uiw/react-markdown-preview settings. 

textareaProps?: TextareaHTMLAttributes: Set the textarea related props.

height?: number=200: The height of the editor.

visiableDragbar?: boolean=true: Show drag and drop tool. Set the height of the editor.

highlightEnable?: boolean=true: Disable editing area code highlighting. The value is false, which increases the editing speed.

fullscreen?: boolean=false: Show markdown preview.

preview?: 'live' | 'edit' | 'preview': Default value live, Show markdown preview. //预览模式

maxHeight?: number=1200: Maximum drag height. The visiableDragbar=true value is valid.//最高宽

minHeights?: number=100: Minimum drag height. The visiableDragbar=true value is valid.//最小宽

tabSize?: number=2: The number of characters to insert when pressing tab key. Default 2 spaces.

hideToolbar?: boolean=false: Option to hide the tool bar.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react中使用markdown组件——react-md-editor 的相关文章

  • 函数式组件与类组件有何不同?

    与React类组件相比 React函数式组件究竟有何不同 在过去一段时间里 典型的回答是类组件提供了更多的特性 比如state 当有了Hooks后 答案就不再是这样了 或许你曾听过它们中的某一个在性能上的表现优于另一个 那是哪一个 很多此类
  • 对Fiber架构的理解?解决了什么问题?

    一 问题 JavaScript引擎和页面渲染引擎两个线程是互斥的 当其中一个线程执行时 另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程 那么渲染层面的更新就不得不长时间地等待 界面长时间不更新 会导致页面响应度
  • React 初识之Umi项目搭建实战

    一 创建项目 创建之前需要安装 Node js 和 npm yarn 这俩个环境 在WebStorm里面创建一个项目 输入命令 yarn create umi 弹出选项 这里我们选择第二项APP 选择是否使用typescript 这里选no
  • react项目中使用react-dnd实现列表的拖拽排序

    现在有一个新需求就是需要对一个列表 实现拖拽排序的功能 要实现的效果如下图 可以通过 react dnd 或者 react beautiful dnd 两种方式实现 今天先讲下使用react dnd是如何实现的 github地址 https
  • React重新渲染的触发机制及其优化策略

    React是一个用于构建用户界面的JavaScript库 它的核心特点之一是使用虚拟DOM Virtual DOM 来实现高效的组件渲染 那组件重新渲染的机制是如何呢 基于这些机制 如果进行优化呢 虚拟DOM是一个用JavaScript对象
  • 【前端】react-markdown配置解析

    文章目录 react markdown基本配置 同步预览配置 MdEditorComponent js reducer js initBlogState js action types js sync actions js store js
  • vue 全局组件注册_如何注册vue3全局组件

    vue 全局组件注册 With the new versions of Vue3 out now it s useful to start learning how the new updates will change the way w
  • react基础--组件通讯:props基础、子传父、父传子、兄弟组件通讯、context跨级组件、props进阶

    目录 一 props基础 1 1 概述 1 2 函数组件通讯 1 2 1 基本用法 1 2 1 对象数据传递 1 3 类组件通讯 1 4 props的特点 二 组件通讯三种方式 2 1 父传子 2 2 子传父 2 3 兄弟组件通讯 三 co
  • Ionic3开发教程 - 开发(2)

    Ionic3开发系列教程Ionic3开发教程 环境准备 1 Ionic3开发教程 开发 2 Ionic3开发教程 发布Android版本 3 Ionic3开发教程 发布IOS版本 4 Ionic3开发教程 更新 5 本文中介绍的Ionic3
  • 【Ant Design】Form.Item创建自定义表单

    一 概述 Antd是一个非常强大的UI组件库 里面的Form表单组件也基本能满足我们大多数场景 但是也有需要自定义表单的场景 Vue2里我们使用v model 结合子组件的model属性 来实现自定义组件的双向绑定 Vue3里我们使用v m
  • 组件间样式覆盖问题--CSS Modules

    1 组件间样式覆盖问题 问题 CityList 组件的样式 会影响 Map 组件的样式 原因 在配置路由时 CityList 和 Map 组件都被导入到项目中 那么组件的样式也就被导入到项目中了 如果组件之间样式名称相同 那么一个组件中的样
  • 三分钟实现一个react-router-dom5.0的路由拦截(导航守卫)

    不同于vue 通过在路由里设置meta元字符实现路由拦截 在使用 Vue 框架提供了路由守卫功能 用来在进入某个路有前进行一些校验工作 如果校验失败 就跳转到 404 或者登陆页面 比如 Vue 中的 beforeEnter 函数 rout
  • Ant Design Pro从零到一(认识AntD)

    废话 在我们第一次接触AntD的时候 会遇到两个东西 一个是Ant Design 另一个是Ant Design Pro 他们的官网分别是 Ant Design 一套企业级 UI 设计语言和 React 组件库 Ant Design Pro
  • useEffect详情用法

    1 为什么要使用useEffect 想必大家都是用过vue吧 在vue框架所写的项目中 我们通过在与后端进行数据交互的过程中 通常都是会在生命周期中进行数据的请求 然后将数据返回给页面进行渲染 在React中我们也是这样 但是在函数式组件中
  • React之state、hooks性能分析

    目录 一 state 1 为什么使用setState 2 setState异步更新 3 如何获取异步的结果 4 setState一定是异步吗 5 源码分析 6 数据的合并 7 多个state的合并 二 为什么需要Hook 三 Class组件
  • hooks实践总结

    何为hooks 在React中hook是指不编写 class 的情况下使用 state 以及其他的 React 特性 而Vue3也推出了具有相同功能的组合式API 如果你用过Vue3就会知道在 setup 中你应该避免使用 this 因为h
  • 【React】 4课 react初识组件

    首先我们如1课创建一个文件夹在文件夹中安装react环境需要的配置文件 npm init y npm i babel standalone D npm i react react dom D 安装配置文件教程链接 https blog cs
  • 值得收藏的UmiJS 教程

    点击上方关注 前端技术江湖 一起学习 天天进步 前言 网上的umi教程是真的少 很多人都只写了一点点 很多水文 所以打算自己写一篇 自己搭建umi 并封装了一下常用的功能 并用到公司实际项目中 umi介绍 Umi 是什么 Umi 中文可发音
  • React配置@src根路径

    第一种 直接修改node modules包中的webpack config js文件 找到node modules react scripts config webpack config js文件 修改其中alias中的配置 添加 src
  • 自定义hooks

    自定义传参hooks 把大多数的通用代码 或者props 抽成一个hooks 用hooks实现上下文 就不用再一一传参了 实现原理 主要是通过createContext useContext 生产 消费者模式 用于大量props一层一层传参

随机推荐

  • 微信小程序 -- ios 底部小黑条安全距离兼容解决方案(转载)

    在苹果 iPhoneX iPhone XR等设备上 可以看到物理Home键被取消 改为底部小黑条替代home键功能 微信小程序和 h5 网页需要针对这种情况进行适配 否则可能会遇到底部按钮或选项卡栏与底部黑线重叠的情况 如下图 在微信小程序
  • 原来还有linux kernel api

    linux kernel api http www gnugeneration com books linux 2 6 20 kernel api 居然有人将linux kernel api给列出来了 这样编写驱动程序就是和编写普通程序一样
  • 区块链行业前景还好吗?区块链技术有没有经过时间的检验?

    一直有人在发问 被各种科技大佬们炒得那么火热的区块链技术 说到底 跟我们普通的 市井小民 有什么切身的关系利益吗 各位大佬们一口一个 改变未来 革命未来 未来又在哪里 各种吃瓜群众们还在观望的时候 区块链行业的小伙伴们 已经将区块链技术慢慢
  • Java:数值-字符串转换(String转Double)

    代码如下 String ss 3 141592653 double value Double valueOf ss toString
  • 【JavaScript——牛客网算法No.HJ26】字符串排序(字符串里英文字母按字典顺序重新排列,其他字符保持原位)附:详细排坑经历

    No HJ26 字符串排序 problem description 编写一个程序 将输入字符串中的字符按如下规则排序 规则 1 英文字母从 A 到 Z 排列 不区分大小写 如 输入 Type 输出 epTy 规则 2 同一个英文字母的大小写
  • 4.1.3.1Spring源码解析——createBean方法细节之doCreateBean

    先贴代码 doCreateBean方法位于AbstractAutowireCapableBeanFactory方法中 前面已经解析了CreateBean方法 可以点这里传送CreateBean方法解析 protected Object do
  • 剖析算法:解决问题的艺术

    前言 一 实战中的精选算法 工作和学习的无法替代的助手 1 1 效率之王 排序算法 如快速排序和归并排序 1 2 寻路之魔 图算法 如 Dijkstra 算法和贝尔曼 福特算法 1 3 问题解决之神 动态规划算法在复杂问题中的应用 1 4
  • 张量(二):张量分解(tensor decomposition)

    与矩阵分解一样 我们希望通过张量分解去提取原数据中所隐藏的信息或主要成分 当前主流的张量分解方法有CP分解 Tucker分解 t SVD分解等 更新的方法大多是在他们的基础上做进一步的改进或引用 因此 张量分解也是张量算法的基础 下面分别做
  • python 线程池使用

    前段时间发现了一个 人工智能学习网站 通俗易懂 风趣幽默 分享一下给大家 学习链接 文章目录 线程池使用 1 线程池介绍 2 使用方法 2 1 threadpool 2 2 ThreadPoolExecutor submit as comp
  • 9-数据结构-单链表头插法尾插法

    问题 单链表头插法与尾插法 思路 头插法 类似于前面的在末位置前 插入元素 最后创建完为逆序 尾插法 则是定一个尾指针r 每次接入新的结点s 随后r s 即r往后移位 详解 头插法 先初始化链表l l linklist malloc siz
  • SOCKS5代理是什么?

    嘿 今天我们来聊一下SOCKS5代理 你听说过吗 如果你对网络安全 隐私保护或者访问限制有一点点兴趣 那么你一定不能错过这个话题 别担心 我会以轻松有趣的方式给你解释清楚 让你对SOCKS5代理有个全面的了解 首先 我们先来搞明白什么是代理
  • js逆向--百度滑块验证码

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 在工作中遇到了百度的滑块 翻了下csdn以及公众号发现没人写
  • vue2.0 自定义指令 + 案例:v-lazy-loading、v-drag、v-resize、v-copy

    文章目录 1 自定义指令 文档说明 1 1 全局注册 局部注册 1 2 钩子函数 2 案例一 property 的自定义钩子样例 3 案例二 动态指令参数 4 案例三 element ui 自定义el select的下拉懒加载指令v laz
  • C函数调用机制及栈帧指针

    转载 http bbs csdn net topics 90317145 http blog chinaunix net uid 26817832 id 3347227 html 帧指针 和栈指针到底是什么 有什么联系吗 帧指针指向帧头 栈
  • NCRE——网络工程师——网络技术

    对计算机发展具有重要影响的广域网 ARPANET 第一个运营的封包交换网络 IP电话系统有4个原件 网关 终端 网守 多点控制单元 通过MCU实现多点通信 网关可以看作H 323设备 IP电话中 网关的功能包括 A 号码查询 B 信号调制
  • 时序预测

    时序预测 MATLAB实现BP神经网络未来多步预测 目录 时序预测 MATLAB实现BP神经网络未来多步预测 预测效果 基本介绍 模型描述 程序设计 参考资料 致谢 预测效果 基本介绍 本次MATLAB实现BP神经网络时间序列未来多步预测
  • cmake生成动态链接库

    使用CMake生成动态链接库的步骤如下 1 在CMakeLists txt文件中指定要编译的源文件 例如使用add library命令 2 使用CMake生成Makefile文件 3 在终端中进入到CMake生成的Makefile文件所在的
  • 二、nginx server基础配置[root、alias、index]

    一 root 解释 root与alias类似 root其寻找文件是root地址 location 如下例子会去 var www html work下面寻找文件 如http localhost 80 work ab html其会寻找 var
  • STM32学习笔记:adc采样得到的电压值用485发送给pc

    采用adc1的通道10 将采集到的电压值用485发送给PC显示 先上原理图 源代码见附件 这里想说的是几个要注意的问题 1 ad输入的电压经过了R42和R44进行分压 所以pc显示的电压值将会减半 2 采用这个函数进行发送数据的时候 每次都
  • react中使用markdown组件——react-md-editor

    react中使用markdown组件 组件推荐 react md editor https github com uiwjs react md editor 在项目中使用过后是这样的 左侧内容可以默认 可以手动回填 简单介绍 下载依赖 np