react使用markdown进行展示

有一些文档非常长,但是又要挨个设置样式,直接用

组件库 - marked

注意文档要放在public下才能读取。但非常方便

复制代码
import { marked, Renderer } from "marked"


.....

 const [html, setHtml] = useState<any>("")
  const renderer: Renderer = new marked.Renderer()

  const getMarkdownFile = () => {
    const path = "/PrivacyPolicy.md"
    if (!path) {
      return
    }

    fetch(path)
      .then(function (response) {
        return response.text()
      })
      .then(function (data) {
        setHtml(marked(data, { renderer }))
      })
  }

  useEffect(() => {
    getMarkdownFile()
  }, [])


......

<div id="markdown">
  <div dangerouslySetInnerHTML={{ __html: html }} />
</div>

然后css不用全局,用id即可

最后是我的markdwon样式

复制代码
#markdown {
    overflow: scroll;
    color: rgba(255, 255, 255, 0.80);
    padding: 0 20px;
    font-family: "PingFang SC";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}
#markdown .effectiveDate {
    color:rgba(255, 255, 255, 0.50); ;
}

#markdown strong {
    color: white;
}

#markdown p {
    margin: 20px 0;
}
#markdown .no-wrap{
    margin: 20px 0;
}
#markdown h5 {
    padding: 20px 0 10px 0;
}
#markdown h5 strong{
    color: #998D76;
}
#markdown h1 strong{
    color: #998D76;
    /* position: relative; */
    /* top: 15px; */
}
#markdown a {
    color: #83574E;
}


#markdown li p {
    margin-bottom: 0px;
    padding: 0px;
}

#markdown ul {
    list-style: disc;
    padding-left: 24px;
}

#markdown li {
    list-style: disc;
}

#markdown ol {
    padding-left: 20px;
}
#markdown ol li {
    list-style: auto;
}
相关推荐
m0_57914665几秒前
Element UI 表格合并单元格完全指南:从原理到实战
前端·vue.js·elementui
sibylyue4 分钟前
# Web端流媒体JS播放器开源库
前端·javascript·开源
码视野16 分钟前
基于 Vue3 + Element Plus 的【基于物联网与深度学习的智慧工业园区能耗监测与光储充一体化微电网协同调度系统】设计与实现(附完整源码与PRD)
前端·人工智能·深度学习·物联网·vue3
铁皮饭盒19 分钟前
网页端, 5.5mb谷歌模型, 识别躯干, 视频都不卡
前端·javascript·后端
雪芽蓝域zzs35 分钟前
Prettier (代码格式化)配置详解
前端·vue.js
晴天1635 分钟前
Gradio 与 Streamlit:Python 快速构建 Web 应用的双子星-Day28
开发语言·前端·python
码哥DFS41 分钟前
LRU缓存
前端·javascript·缓存
mldong42 分钟前
一条命令,十分钟:jeeflow 工作流应用的六语言一键部署
前端·后端·架构
zzzzzz3102 小时前
别急着把页面做成舞台:从 react-bits 看动画组件该怎么选
javascript·react.js·开源
ly76899 小时前
HTML5 从入门到工程实践:语义化、表单、多媒体、性能与项目规范详解
前端·html·html5