import React from 'react'; interface Props { pageLinks: (number | string)[]; activePage: number; onPageSelect: (page: number) => void; } interface State { } export class PaginationLinks extends React.Component { constructor(props: any) { super(props); } onPageSelect(page: number) { this.props.onPageSelect(page); window.scrollTo(0, 0); } renderLink(page: number, active: boolean) { return active ? {page} : this.onPageSelect(page)}>{page}; } render() { const { activePage, pageLinks } = this.props; return ( {pageLinks.map((link, index) => { const active = link === activePage; return ( {typeof link === 'number' ? this.renderLink(link as number, active) : . } {pageLinks.length !== index + 1 && .} ); })} ); } }