For loop in react render method
本问题已经有最佳答案,请猛点这里访问。
我想为我的grid创建分页链接。我将maxPages(number)属性传递给组件,但我无法在render方法中使用。 我能做什么 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | var Pagination = React.createClass({ render: function(){ return( <ul class="pagination"> <li> ? </li> {for (var i=0;i <10;i++;) { return( <li> i + 1 </li> ); } } <li> ? </li> </ul> ); }}); |
您可以在渲染之前运行循环(请注意,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | var lis = []; for (var i=0; i<10; i++) { lis.push( <li> {i + 1} </li> ); } var Pagination = React.createClass({ render: function(){ return( <ul class="pagination"> <li> ? </li> {lis} <li> ? </li> </ul> ); } }); |
小提琴
您只能将表达式嵌入JSX中。
1 2 | <ul className="pagination">{children} </ul> |
转换成类似的东西
1 | React.createElement('ul', {className: 'pagination'}, children); |
你现在看到你怎么永远不会有一个
您可以事先创建一个数组,就像adeneo在答案中所示。