首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Highlight.js不使用react-markdown

Highlight.js不使用react-markdown
EN

Stack Overflow用户
提问于 2021-06-12 20:43:35
回答 1查看 63关注 0票数 0

我使用react-syntax-highlighter@15.4.3进行语法突出显示。代码如下:

代码语言:javascript
复制
import React, { PureComponent } from "react";
import PropTypes from "prop-types";
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
import { docco } from "react-syntax-highlighter/dist/cjs/styles/hljs";

class CodeBlock extends PureComponent {
  static propTypes = {
    value: PropTypes.string.isRequired,
    language: PropTypes.string
  };

  static defaultProps = {
    language: null
  };

  render() {
    const { language, value } = this.props;
    return (
      <SyntaxHighlighter style={docco}>
        {value}
      </SyntaxHighlighter>
    );
  }
}

export default CodeBlock;
代码语言:javascript
复制
<ReactMarkdown source={this.state.post.description} renderers={{CodeBlock}}/>

我希望它能检测到react-markdown自动提供给它的语言,但它没有检测到该语言,因此代码没有被美化。

我应该怎么做才能让它开始自动检测语言?

EN

回答 1

Stack Overflow用户

发布于 2021-06-13 11:00:52

我在react-markdown的文档中找到了以下答案

代码语言:javascript
复制
import React from 'react'
import ReactMarkdown from 'react-markdown'
import SyntaxHighlighter from 'react-syntax-highlighter'
import {docco} from 'react-syntax-highlighter/dist/esm/styles/hljs'
import {render} from 'react-dom'
 
export const renderers = {
  code: ({language, value}) => {
    return <SyntaxHighlighter style={docco} language={language} children={value} />
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67948981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档