Реагировать, Backbone.paginator и навигация по страницам
Я использую backbone.paginator и пользовательский экспресс-маршрут для разбивки на страницы, поэтому большая часть моей логики разбивки на страницы происходит на сервере.
Backbone.paginator имеет объект состояния, который содержит все данные разбивки на страницы, включая totalPages(в данном случае это номер 29).
Поэтому, чтобы сделать навигацию по моим страницам, я делаю массив из totalPages, а при рендеринге я использую часть массива.
Это работает просто отлично, но кажется неуклюжим. Какой лучший способ сделать это? Возможно, более объектно-ориентированный способ?
Мой метод:
var pState = this.props.paginationState;
var pagesArray = []
var pagesArrOutput = []
for (var i = 1; i <= pState.totalPages; i++) {
pagesArray.push(i)
}
if (pState.currentPage <= 6) {
pagesArrOutput = pagesArray.slice(0, 10)
} else if (pState.currentPage + 4 >= pState.totalPages) {
pagesArrOutput = pagesArray.slice(-9)
} else if (pState.currentPage > 6){
pagesArrOutput = pagesArray.slice((pState.currentPage - 5),(pState.currentPage + 5));
}