代码之家  ›  专栏  ›  技术社区  ›  ssh

使用HLJS库动态突出显示React中的代码

  •  0
  • ssh  · 技术社区  · 7 年前

    我从服务器获取要显示的代码片段。

    如果我想显示代码,我将节点附加到DOM。如果没有要显示的代码,我将从DOM中删除节点。

    我在用 highlight.js 突出显示代码。

    突出 :

    <script>hljs.initHighlightingOnLoad();</script>
    

    但问题是,它只突出显示方法名所指示的加载时的代码。

    所以,我需要检查并突出显示代码。

    我想在每次请求之后刷新页面并不是一个解决方案。

    我试过了 this 所以回答:

    hljs.initHighlighting.called = false;
    hljs.initHighlighting();
    

    但我没有看到任何突出显示。

    如何在ReactJS中随时动态突出显示代码?

    1 回复  |  直到 7 年前
        1
  •  1
  •   SkrewEverything    7 年前

    <code><pre></pre></code>

    hljs.highlightBlock(document.getElementById("codeblock"));
    

    codeblock <code id=""codeblock><pre></pre></code>

    hljs

    MutationObserver

    setTimeout()

    arrive

    .min.js arrive

    $ npm install -S arrive
    

    require("arrive");

    highlight(){
            if(document.getElementById("codeblock") != null){
                hljs.highlightBlock(document.getElementById("codeblock"));
            }
    
    }
    

    constructor()

    document.arrive("#codeblock", () => this.highlight());