我有一系列要创建面板的项目,最终将这些面板插入到手风琴中。
在一个文件中,我有:
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类数组。