首页
/ React Markdown 编辑器使用教程

React Markdown 编辑器使用教程

2026-01-16 10:22:58作者:盛欣凯Ernestine

项目介绍

React Markdown 编辑器是一个基于 React.js 和 TypeScript 实现的简单 Markdown 编辑器,支持实时预览。该项目是一个开源项目,托管在 GitHub 上,由 uiwjs 组织维护。编辑器提供了丰富的功能,如代码块语法高亮、GitHub 风格的 Markdown 支持、暗黑模式等。

项目快速启动

安装

首先,你需要通过 npm 安装 @uiw/react-md-editor 包:

npm install @uiw/react-md-editor

基本使用

以下是一个简单的示例,展示如何在 React 项目中使用该编辑器:

import React, { useState } from 'react';
import MDEditor from '@uiw/react-md-editor';

export default function App() {
  const [value, setValue] = useState("**Hello world!!!**");
  return (
    <div className="container">
      <MDEditor
        value={value}
        onChange={setValue}
      />
    </div>
  );
}

应用案例和最佳实践

自定义工具栏

你可以通过自定义工具栏来扩展编辑器的功能。以下是一个示例:

import React, { useState } from 'react';
import MDEditor from '@uiw/react-md-editor';
import { getExtraCommands } from '@uiw/react-md-editor/commands-cn';

export default function App() {
  const [value, setValue] = useState("**Hello world!!!**");
  return (
    <div className="container">
      <MDEditor
        value={value}
        onChange={setValue}
        commands={[getCommands()]}
        extraCommands={[getExtraCommands()]}
      />
    </div>
  );
}

设置占位符和最大输入长度

你可以为编辑器设置占位符和最大输入长度:

import React, { useState } from 'react';
import MDEditor from '@uiw/react-md-editor';

export default function App() {
  const [value, setValue] = useState("");
  return (
    <MDEditor
      value={value}
      onChange={setValue}
      textareaProps={{
        placeholder: 'Please enter Markdown text',
        maxLength: 10
      }}
    />
  );
}

典型生态项目

React Markdown 编辑器可以与其他 React 生态项目结合使用,例如:

  • Next.js: 可以在 Next.js 项目中使用该编辑器,实现服务端渲染的 Markdown 编辑功能。
  • Material-UI: 结合 Material-UI 组件库,可以为编辑器提供更加丰富的样式和交互体验。

通过这些生态项目的结合,可以进一步扩展和优化 React Markdown 编辑器的功能和用户体验。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
828
5.49 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
518
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
786
1.58 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
803
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
973
2.29 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
483
313
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.02 K
769
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.27 K
814
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
652
288