我的文档是用markdown编写的,我想将这些文件从我的JSX(ES6+CommonJS)代码中呈现到React组件中.我怎样才能做到这一点?

例如,我有自己的风格.markdown和我想把它渲染成一个<p>标签.

推荐答案

你可以使用React-Markdown:

const React = require('react')
const ReactDOM = require('react-dom')
const ReactMarkdown = require('react-markdown')

const input = '# This is a header\n\nAnd this is a paragraph'

ReactDOM.render(<ReactMarkdown source={input} />, document.getElementById('container'))

或您只需创建一个简单的React组件,将对标记解析器的调用封装起来.

现在,您可以创建如下组件:

var MarkdownViewer = React.createClass({
    render: function() {
        // pseudo code here, depends on the parser
        var markdown = markdown.parse(this.props.markdown);
        return <div dangerouslySetInnerHTML={{__html:markdown}} />;
    }
});

以前已经有一个了,但似乎已经没有了:https://github.com/tcoopman/markdown-react

此外,如果您需要React Markdown编辑器,请查看:react-mde.免责声明:我是作者.

Reactjs相关问答推荐

从另一个组件更改组件中const的状态

sourceBuffer. appendBuffer成功,但h5视频播放器卡住了

导致类型错误的调度不是函数";

客户端组件中服务器组件的两难境地

在Reaction中单击时,按钮未按预期工作

利用OVERPASS API端点计算某建筑的表面积

如何在react 流中使用文本区域和改变 node 的输入大小?

获取点击的国家/地区名称react 映射

如何解决Reaction中遗留的上下文API错误?

根据处于react 状态的数组的名称键,将新对象添加到嵌套的对象数组中

tRPC/react-query,在所有查询完成之前,组件不会收到任何 useQuery 的结果

无法使用 MongoDB Atlas 和 Next.js 删除正确的帖子

React中useAuthenticator的authState在成功登录后仍保持未认证状态 - 需要强制刷新

React - 函数组件 - 点击两次问题处理

基于 React/NextJS Timer 的文本淡入/淡出不起作用

在 Nextjs13 应用程序目录中呈现从 supabase 获取的数据

在复选框中react 检索选中的值

ReactJs 行和列

如何跨微前端 React 应用管理状态管理?

在 React 中,为什么不能向空片段添加键(短语法)?