反应中的循环隐藏其他元素

时间:2016-03-17 12:44:09

标签: reactjs

我在渲染功能中有这个:(咖啡脚本)

unless @state.loaded
  React.createElement('h1', {}, 'Loading')
else
  React.createElement('h1', {}, 'Blog')
  for year in @blogYears()
    React.createElement(BlogYear, {year: year, content: @state.content, key: year})

根本不会呈现h1,但如果我注释掉循环,它会呈现h1。我没有在react开发工具中看到h1的任何迹象。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

在您的情况下,只返回最后执行的语句,这是for循环的结果。

解决方案:将h1和循环包装在div中。

提示:您可以编写更多Coffeescript-ish代码(未经过测试):

React.DOM.div {},
  React.DOM.h1 {}, 'Blog'
  @blogYears.map (year) ->
    React.createElement BlogYear,
      year: year
      content: @state.content
      key: year