当前位置:首页 > React

react实现markdown

2026-01-26 14:10:47React

React 实现 Markdown 编辑器

使用 React 实现 Markdown 编辑器可以通过以下方法完成,结合现有库或自定义解析逻辑。

使用现成库(推荐)

安装 react-markdownmarked 等流行库:

npm install react-markdown

基本示例代码:

import React from 'react';
import ReactMarkdown from 'react-markdown';

function MarkdownEditor() {
  const [markdown, setMarkdown] = React.useState('# Hello World');

  return (
    <div>
      <textarea 
        value={markdown}
        onChange={(e) => setMarkdown(e.target.value)}
      />
      <ReactMarkdown>{markdown}</ReactMarkdown>
    </div>
  );
}

自定义解析逻辑

如果需要轻量级实现,可以编写简单的转换函数:

function parseMarkdown(text) {
  return text
    .replace(/^# (.*$)/gm, '<h1>$1</h1>')
    .replace(/^## (.*$)/gm, '<h2>$1</h2>')
    .replace(/`([^`]+)`/g, '<code>$1</code>');
}

function MarkdownPreview({ text }) {
  const html = parseMarkdown(text);
  return <div dangerouslySetInnerHTML={{ __html: html }} />;
}

添加语法高亮

结合 highlight.js 实现代码块高亮:

npm install highlight.js

使用示例:

import hljs from 'highlight.js';
import 'highlight.js/styles/github.css';

function HighlightMarkdown({ children }) {
  useEffect(() => {
    hljs.highlightAll();
  }, [children]);

  return <ReactMarkdown>{children}</ReactMarkdown>;
}

支持扩展语法

通过 remark 插件生态系统支持表格、数学公式等:

npm install remark-gfm remark-math rehype-katex

配置示例:

import remarkGfm from 'remark-gfm';
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';

<ReactMarkdown
  remarkPlugins={[remarkGfm, remarkMath]}
  rehypePlugins={[rehypeKatex]}
>
  {markdownContent}
</ReactMarkdown>

注意事项

  • 自定义解析时需注意 XSS 防护
  • 大型文档考虑虚拟滚动优化性能
  • 移动端需添加合适的输入体验优化
  • 保存状态时建议同时存储原始 Markdown 和渲染结果

以上方案可根据项目需求组合使用,现成库适合快速开发,自定义解析适合特定需求场景。

react实现markdown

标签: reactmarkdown
分享给朋友:

相关文章

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 编写组件代码 在 s…

react实现vue

react实现vue

React 实现 Vue 功能 React 和 Vue 是两种不同的前端框架,但可以通过一些方法在 React 中实现 Vue 的特性。以下是几种常见 Vue 功能在 React 中的实现方式: 双…

react native 如何

react native 如何

React Native 开发基础 React Native 是一个用于构建跨平台移动应用的框架,允许开发者使用 JavaScript 和 React 编写代码,同时生成原生 iOS 和 Androi…

电脑如何安装react

电脑如何安装react

安装 Node.js 和 npm React 依赖于 Node.js 和 npm(Node Package Manager)。从 Node.js 官网下载并安装最新稳定版本,安装完成后会自动包含 np…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

如何降低react版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修…