为了构建理论上具有无限递归级别的ES6手风琴菜单,我会有两个React组件,每个组件互相导入。
简化代码段:
1)无序的AccordionList组件:
render(){
let AccordionItems = this.props.list.map((item) => {
<AccordionItem item={item} />
});
return ( <ul class='accordion-menu'> {AccordionItems} </ul> );
}
2)项目,每个项目都需要嵌套ul(省略额外的逻辑):
render(){
//Extract list from passed in item prop
<li>
submenu
<AccordionList list={list} />
</li>
}
使用Babel时,这种循环依赖是不是很糟糕? 如果是这样,一般的解决方法是什么?