0
ページングのすべてのクリックハンドラでページの最大サイズを受信しています(たとえば、2をクリックすると、ハンドラパラメータとして4を受信しています)。このコードで何が問題になっていますか?ReactJSページングコントロールを実装する際に問題が発生しました
UPDATE
class PagingControl extends React.Component{
constructor(props) {
super(props);
this.state = {pageNumber:0, pageSize:20, totalPages:0};
this.handlePageChanged = this.handlePageChanged.bind(this);
}
handlePageChanged(pageNumber){
this.setState({pageNumber: pageNumber})
this.props.handlePageChanged(pageNumber);
}
render(){
const pages = [];
for(var pageNumber=0 ; pageNumber<this.state.totalPages ; pageNumber ++){
var opts={}
if(pageNumber == this.state.pageNumber){
opts['className'] = 'active';
}
pages.push(<li onClick={() => this.handlePageChanged(pageNumber)} {...opts}><a href="#">{pageNumber + 1}</a></li>);
}
return (<ul className="pagination pagination-lg">{pages}</ul>);
}
}
するループのために
var pageNumber=0
を変更し、解決策を見つけました。このように: 'onClick = {()=> this.handlePageChanged.bind(this、pageNumber)}' – Chris@Chrisおかげさまで、私はすでにhandlePageChangedハンドラを定義して、それを再利用したいと思います。解読の更新 –