我在渲染函数中有这个:(咖啡脚本)
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
.我在反应开发工具中没有看到任何h1
的迹象。
为什么会这样?
只会返回最后一个执行的语句,在您的情况下,这是 for 循环的结果。
解决方案:将 h1 和循环包装在一个div 中。
提示:您可以编写更多类似 Coffeescript 的代码(未经测试):
React.DOM.div {},
React.DOM.h1 {}, 'Blog'
@blogYears.map (year) ->
React.createElement BlogYear,
year: year
content: @state.content
key: year