我有一个关于使用react的问题.从标题中可以看出,我想知道是否可以在"dangerouslySetInnerHTML"属性中使用React组件(由React.createClass创建).我试过了,但React打印的代码没有像这样的转换:
const MySubComponent = React.createClass({
render() {
return (<p>MySubComponent</p>);
}
});
...
let myStringHTML;
myStringHTML += "<ul>";
myStringHTML += " <li>";
myStringHTML += " <MySubComponent />";
myStringHTML += " </li>";
myStringHTML += "</ul>";
const MyComponent = React.createClass({
render() {
return (
<div dangerouslySetInnerHTML={{__html:myStringHTML}}></div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
我期望
<ul>
<li>
<p>MySubComponent</p>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但代码与原始字符串相同,这意味着React不会转换MySubComponent.
有没有办法解决这个问题?上面的例子很简单,但我的实际代码非常复杂.非常感谢gimme一只手;)