在 React.js 中将字符串呈现为 JSX
Render string as JSX in React.js
改变这个
"<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"/>
我在 reactjs 项目中使用 emojione,想在 JSX 中使用
<div>
<img class="emojione" alt="" title=":flag_gb:"
src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>
</div>
目前在html
中显示为字符串
如果想在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>
我假设您最初的问题是该值呈现为字符串而不是 React 中的元素
您可以使用 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> )
}
原始 SO 答案参考 - [How do I convert a string to jsx?]
改变这个
"<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"/>
我在 reactjs 项目中使用 emojione,想在 JSX 中使用
<div>
<img class="emojione" alt="" title=":flag_gb:"
src="https://cdn.jsdelivr.net/emojione/assets/4.0/png/32/1f1ec-1f1e7.png"/>
</div>
目前在html
中显示为字符串如果想在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>
我假设您最初的问题是该值呈现为字符串而不是 React 中的元素
您可以使用 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> )
}
原始 SO 答案参考 - [How do I convert a string to jsx?]