渲染HTMLDivElement在阵营
问题描述:
我有这个问题,我试着用反应呈现HTMLDivElement,但是我得到以下错误:渲染HTMLDivElement在阵营
Uncaught Invariant Violation: Objects are not valid as a React child (found: [object HTMLDivElement]). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons. Check the render method of `VirtualList`
在我的阵营组件类我有这样的代码...
import React, { Component } from 'react';
export default class VirtualList extends Component {
constructor(props) {
super(props);
this.container = document.createElement('div');
}
renderList() {
let container = this.container;
// Manipulate container etc.
return container;
}
render() {
return (
<div>
{this.renderList()}
</div>
)
}
}
帮助将不胜感激!
答
ReactElements
不与DOM元素相混淆。
您可以通过React.createElement创建React元素。
this.container = React.createElement('div');
请问您为什么要使用'document.createElement'? –
这不是对付dom的反应方式。 –
@AlexanderT。我编写了一些带有一些逻辑的普通JavaScript代码,因此我想从某种意义上说,将代码移植到React中,并认为您可以呈现HTMLDivElement对象 – slim1801