我有一系列要创建面板的项目,最终将这些面板插入到手风琴中。
在一个文件中,我有:
var items = this.state.contents.map(function(content, index) {
return <Content {...content}, key={index}/>
};
return (
<Accordion>
{items}
</Accordion>
);
在另一个名为“内容”的文件中,我有:
return(
<Panel header={this.props.header} eventKey={this.props.key}>
{this.props.body}
</Panel>
);
当我将手风琴和面板放在同一文件中时,它们将起作用。但是,当我在将地图分为两个文件后使用地图生成Panel时,它似乎没有崩溃。
如果手风琴的孩子不是面板,react-bootstrap似乎会抱怨,并且通过将面板包装到我的Content类中,我正在这样做。
为了解决这个问题,我不得不放弃React的约定。我没有创建类Content,而是创建了另一个js文件而不是react.js文件。通过像对待普通js文件一样对待此文件,我能够在该文件内部调用一个函数,该函数映射到每个“
this.state.contents”并返回一个Panel对象。
整个文件将返回一个Panel类数组。