【发布时间】:2018-07-20 04:03:32
【问题描述】:
我正在尝试对数组进行分页 我对反应还很陌生,不知道从哪里开始
我正在尝试对这个事件列表进行分页,所以它只在页面上显示 9 个事件 当还有更多时,您可以单击 2 或 3 等查看更多 我不知道如何实现分页
class EventsList extends PureComponent {
componentWillMount() {
this.props.getAllEvents();
}
getEvent(eventId) {
this.props.getEvent(eventId);
}
addEvent = event => {
this.props.addEvent(event);
};
render() {
const now = Moment();
const { events, authenticated } = this.props;
const eventsList = events.sort((a, b) =>{
return a.id - b.id;
});
if (!authenticated) return <Redirect to="/login" />;
return <div>
<Paper className="styles" elevation={4}>
<h1>Coming Events</h1>
<table>
<thead>
<tr>
<th>Event Name</th>
<th>Starts</th>
<th>Ends</th>
<th>Short description</th>
</tr>
</thead>
<tbody>
{eventsList.map(event => <tr key={event.id}>
<td>
<Link className="link" to={`/events/${event.id}`} onClick={() => this.getEvent(event.id)}>
{event.name}
</Link>
</td>
{now && <td style={{ border: "2px solid black" }}>
{Moment(event.startDate).format("ll")}
</td>}
{now && <td style={{ border: "2px solid black" }}>
{Moment(event.endDate).format("ll")}
</td>}
<td />
<td style={{ border: "2px solid green" }}>
{event.description}
</td>
<td />
</tr>)}
</tbody>
</table>
<br />
<br />
<Link className="link" to={`/addEvent`}>
Add An Event
</Link>
</Paper>
</div>;
}
}
const mapStateToProps = function(state) {
return {
events: state.events,
event: state.event,
authenticated: state.currentUser !== null,
users: state.users === null ? null : state.users
};
};
export default connect(
mapStateToProps,
{
getAllEvents,
getEvent,
addEvent,
getUsers
}
)(EventsList);
我在看 http://pagination.js.org 和https://www.npmjs.com/package/react-js-pagination
但我不明白我应该如何实现它。 如果有人可以给我一些指示? 还是一个简单的例子?
【问题讨论】:
标签: javascript reactjs pagination