我想在state ==循环索引时将项设置为活动状态。但我每次都会变得虚假。
String[] zaraValues = new String[]{"Pony", "Cars", "Magic"};
hm.put("Zara", zaraValues);
答案 0 :(得分:3)
问题是你是根据constructor
中的道具设置状态,如果道具改变它就不会更新,你需要更新componentWillReceiveProps
函数中的状态。但是,您可以直接使用道具而无需将其设置为状态。同时使用let
代替var
进行迭代器声明以避免closures
render() {
var lis = [];
for (let i=1; i <= this.props.totalPages; i++) { // use let here to avoid closure
lis.push(
<PaginationItem
key={i}
active={
this.props.currentPage === i ? true : false
}
>
<PaginationLink href="javascript:void(0)" onClick={this.handlePageClick.bind(this, i)} >
{i}
</PaginationLink>
</PaginationItem>
);
}
// more code here
}