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

在React.js中将字符串呈现为JSX

  •  -2
  • Engineer  · 技术社区  · 7 年前

    改变这个

    "<img class="emojione" alt="🇬🇧" title=":flag_gb:"
    src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>"
    

    <img class="emojione" alt="🇬🇧" title=":flag_gb:"
    src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>
    

    <div>
        <img class="emojione" alt="🇬🇧" title=":flag_gb:"
        src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>
    </div>
    

    2 回复  |  直到 7 年前
        1
  •  3
  •   Dhananjai Pai    7 年前

    您可以使用JSX属性 dangerouslySetInnerHTML

    例子:

    render() {
       str = '<img class="emojione" alt="🇬🇧" title=":flag_gb:" src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>'
       return( <div dangerouslySetInnerHTML={{__html: str}}></div> )
    }
    

    原答覆请参阅—[ How do I convert a string to jsx? ]

        2
  •  -1
  •   CoursesWeb    7 年前

    如果要在JS中删除字符串开头和结尾的一些字符,可以使用 trim2() 以下示例中的函数:

    <script>
    function trim2(str, chr) {
      var rgxtrim = (!chr) ? new RegExp('^\\s+|\\s+$', 'g') : new RegExp('^'+chr+'+|'+chr+'+$', 'g');
      return str.replace(rgxtrim, '');
    }
    
    var str ='"<img class="emojione" alt="????" title=":flag_gb:"src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>"';
    
    let s2 = trim2(str, '"');
    alert(s2);
    </script>