我正在尝试迭代一组事物的列表/数组/对象:(我使用coffeescript使其更清晰,完整JS的jsfiddle在此处。但只是一个forEach)
pages = for page, each of @props.ids
$('#start').append("<div id='"+page+"' ></div>")
React.renderComponent page(title: each.title, text: each.text), $("#"+page)[0]
而不是替换每个元素,将它们附加在列表末尾,仅保留最后一个项目。
其中#start
元素是起始容器,我想用多个元素填充它,但我需要给每个元素单独的容器,否则它们将彼此覆盖,这是reactjs的默认行为。
我想知道是否有一种方法可以告诉react附加而不是替换div。
如果可能的话,我想避免使用jquery,并纯粹使用react。
我考虑给React.renderComponent
page
传递初始列表,然后在之前调用的模板中进行迭代,但是,然后我面临着另一个问题,我必须return
reactjs元素对象,由整个列表组成,我确实不喜欢。
我需要让最初的调用创建单独的、独立的react模板,将它们附加在一个列表中,最好不使用任何额外的容器或jquery。
renderComponent
已经被弃用了吗? - John DoeReact.render
。 - chenglouReactDOM.render
。 - Dionys