【问题标题】:Reactmarkdown can not escape quotes and backticksReactmarkdown 无法转义引号和反引号
【发布时间】:2021-02-26 13:13:25
【问题描述】:

我有下面的代码,它可以帮助我显示带有语法突出显示的降价组件。一切正常,除了当我输入 ``` 时,这总是会发生,因为我从输入字段中获取降价源。

const renderers = {
   code:({language,value})=>{
   return <SyntaxHighlighter style={dark} language={"dart"} children={value} />
}
}


export default function CodeMarkDown(props){
  return (
   <ReactMarkdown renderers={renderers} children={props.markdown}></ReactMarkDown>
)
}

正如我之前所说,每当我输入 ```~~~ 时,它都会在我能够用带有此错误消息的剩余引号关闭它之前破坏应用程序

Reactmarkdown Uncaught TypeError: Cannot read property 'match' of undefined at getNewLines (highlight.js:10)

到目前为止我所尝试的:

I have tried replacing each  ```  with \`\`\` but when I do I it cant be formatted as markdown anymore. 

【问题讨论】:

    标签: reactjs syntaxhighlighter highlight.js react-markdown react-syntax-highlighter


    【解决方案1】:

    在分析我的代码几个小时后,我意识到当我有 ```~~~(代码的开头)没有结束反引号或波浪号时,语法高亮显示返回 null。

    const renderers = {
       code:({language,value})=>{
       var newCode = value
       var oldCode = value || oldCode
    
       return <SyntaxHighlighter style={dark} language={"dart"} children={newCode || "" } />
    }
    }
    
    
    export default function CodeMarkDown(props){
      return (
       <ReactMarkdown renderers={renderers} children={props.markdown}></ReactMarkDown>
    )
    }
    

    所以在这种情况下,每当新值为 null 时,我都会返回旧值(它不为 null 并且不会使应用程序崩溃)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 2013-06-30
      相关资源
      最近更新 更多