反应渲染方法中的for循环
For loop in react render method
我想为我的 grid.I 创建分页 link 将 maxPages(number) 属性 传递给组件,但我不能在 render 方法中使用 for。我能做什么?
var Pagination = React.createClass({
render: function(){
return(
<div class="text-center">
<ul class="pagination">
<li><a href="#">«</a></li>
{for (var i=0;i <10;i++;)
{
return( <li><a href="#">i + 1 </a></li>);
}
}
<li><a href="#">»</a></li>
</ul>
</div>);
}});
您可以 运行 渲染之前的循环(请注意,您的 for
循环中存在错误)
var lis = [];
for (var i=0; i<10; i++) {
lis.push(<li><a href="#">{i + 1}</a></li>);
}
var Pagination = React.createClass({
render: function(){
return(
<div class="text-center">
<ul class="pagination">
<li><a href="#">«</a></li>
{lis}
<li><a href="#">»</a></li>
</ul>
</div>
);
}
});
您只能将表达式嵌入到 JSX 中。
<ul className="pagination">{children}</ul>
转换为
React.createElement('ul', {className: 'pagination'}, children);
您现在明白为什么不能用 for
循环代替 children
了吗?语句不能在函数调用表达式中。
您可以预先创建一个数组,例如。
我想为我的 grid.I 创建分页 link 将 maxPages(number) 属性 传递给组件,但我不能在 render 方法中使用 for。我能做什么?
var Pagination = React.createClass({
render: function(){
return(
<div class="text-center">
<ul class="pagination">
<li><a href="#">«</a></li>
{for (var i=0;i <10;i++;)
{
return( <li><a href="#">i + 1 </a></li>);
}
}
<li><a href="#">»</a></li>
</ul>
</div>);
}});
您可以 运行 渲染之前的循环(请注意,您的 for
循环中存在错误)
var lis = [];
for (var i=0; i<10; i++) {
lis.push(<li><a href="#">{i + 1}</a></li>);
}
var Pagination = React.createClass({
render: function(){
return(
<div class="text-center">
<ul class="pagination">
<li><a href="#">«</a></li>
{lis}
<li><a href="#">»</a></li>
</ul>
</div>
);
}
});
您只能将表达式嵌入到 JSX 中。
<ul className="pagination">{children}</ul>
转换为
React.createElement('ul', {className: 'pagination'}, children);
您现在明白为什么不能用 for
循环代替 children
了吗?语句不能在函数调用表达式中。
您可以预先创建一个数组,例如