我正在使用WordPress作为我的CMS并在React中创建一些页面并进行渲染。我有一个使用情况,在React组件内需要呈现HTML DOM节点。我使用querySelector()获取DOM节点,该方法返回DOM节点。在React中,我尝试使用React.createElement进行呈现,但在我的页面上呈现为[object HTMLDivElement]。
render() {
const { reactPages } = this.props;
const innerPages = React.createElement('div', {id: "myDiv"}, `${reactPages.children[0]}`);
return (
<div className="react-cmp-container">
<h3>React Container</h3>
{ innerPages }
</div>
)
}
}
我尝试的另一种方法是使用dangerouslySetInnerHTML:
rawMarkUp = () => {
const { reactPages } = this.props;
return {__html: reactPages}
}
render() {
const innerPages = React.createElement('div', {id: "myDiv"}, )
return (
<div className="react-cmp-particle-container">
<h3>React Particle Container</h3>
<div dangerouslySetInnerHTML={this.rawMarkUp()}></div>
</div>
)
}
React.render()
函数来确保渲染DOM元素了吗? - shn