Meine Seitenumbruch macht etwas seltsam. Ich benutze react-pager.Seitenumbruch mit Reagieren
Wenn ich auf die erste Seite klicke - ich habe keine Gegenstände (aber ich habe sie beachtet), wenn ich auf die zweite Seite klicke, habe ich 4 Gegenstände und wenn ich auf die dritte Seite klicke, werden meine Gegenstände hinzugefügt von der zweiten Seite. Ich meine auf der dritten Seite habe ich 8 Artikel alt + neu, nicht 4 neue Artikel wie ich beachte. Ich denke etwas falsch in Scheibe.
Komponente ist unten:
import React, {Component} from 'react';
import {connect} from 'react-redux';
import Pager from 'react-pager';
class AlbumsShow extends Component {
constructor(props) {
super(props);
this.renderImage = this.renderImage.bind(this);
this.handlePageChanged = this.handlePageChanged.bind(this);
this.state = {
total: 3,
current: 1,
visiblePage: 2,
};
}
handlePageChanged(newPage) {
this.setState({ current : newPage });
}
renderImage() {
return this.props.images.slice((this.state.current-1), this.state.current * 4).map(image => (
<li key={image.id}>
<img className="album_img" alt="job" src={image.img} />
<p className="album_title">Test</p>
</li>
));
}
render() {
return (
<div>
<div>
{this.renderImage()}
</div>
<Pager
total={this.state.total}
current={this.state.current}
visiblePages={this.state.visiblePage}
titles={{ first: '<|', last: '>|' }}
className="pagination-sm pull-right"
onPageChanged={this.handlePageChanged}
/>
</div>
);
}
}
function mapStateToProps(state, ownProps) {
const currentAlbumId = parseInt(ownProps.params.id, 10);
return {
images: state.main.albums.filter(album => album.id === currentAlbumId)[0].images,
};
}
export default connect(mapStateToProps)(AlbumsShow);
Auch wenn ich meine Paginierung mehr 10 Stück haben sollte sichtbar sein, und wenn weniger als 10 - null, aber mein Zustand ist nicht zu arbeiten. Zum Beispiel:
{this.renderImage() > 10 ?
<Pager
total={this.state.total}
current={this.state.current}
visiblePages={this.state.visiblePage}
titles={{ first: '<|', last: '>|' }}
className="pagination-sm pull-right"
onPageChanged={this.handlePageChanged}
/>: null }
Es hilft und meine Artikel fügen sich nicht, aber meine erste Seite noch leer. –
Paginierung funktioniert, danke. Ich habe noch eine Frage zu den Bedingungen: Wenn ich Ihre Änderungen in meinen Code einfügen meine Elemente verschwanden, aber Konsole ist klar. –
Meinst du, wenn du weniger als 10 Bilder hast, wirst du 0 Bilder anzeigen? Wenn dies der Fall ist, ist das normal, weil Sie null zurückgeben, wenn die Bedingung falsch ist. Ich werde meine Antwort bearbeiten, um Ihnen zu zeigen, wie es geht. –