【发布时间】:2019-01-03 19:27:18
【问题描述】:
我有 JSX 代码,但它在一个字符串中。尝试将该代码注入 React 组件内的其他 JSX 中并遇到问题...
我正在使用 dangerouslySetInnerHTML 但是 JSX 以某种方式被视为 HTML。我有 JSX 格式的 className = "test" ......所以,当呈现它时,它有 HTML 测试类(红色背景)
React 组件尝试将 JSX 字符串注入其他 JSX 代码
createMarkup(){
var htmlString = '<div className="test">TESTING</div>';
return {__html : htmlString}
}
render() {
return (
<div id="pageContent" className="container" dangerouslySetInnerHTML={this.createMarkup()}></div>
);
}
它正在插入字符串变量,但是当您检查它时,输出是这样的:(您可以看到外部 div 的 className 现在是 class,但是插入的字符串仍然被视为 className
浏览器检查器查看渲染代码
<div id="pageContent" class="container"><div classname="test">TESTING</div></div>
【问题讨论】:
标签: javascript reactjs jsx