我是 React 和 Typescript 的新手,我有一些包含内容的博客,我正在尝试为其添加分页。
我观看了本教程并为 paigination 编写了该组件:
import React from 'react'
export const Pagination = (totalPagesX:any, paginate :any) => {
const pageNumbers=[];
const size=Math.ceil(totalPagesX.totalPages);
for (let index = 1; index <=size; index++) {
pageNumbers.push(index);
}
return (
<nav>
<ul className='pagination'>
{pageNumbers.map((number)=>(
<li key={number} className='page-item'>
<Pagination totalPages={+totalPages} paginate={paginate} />
{number}
</a>
</li>
))}
</ul>
</nav>
)
}
现在参数 paginate 是我的 App 类中的一个函数:
export class App extends React.PureComponent<{}, AppState> {
state: AppState = {
currentPage: 1,
totalPages:'10',
}
async componentDidMount() {
this.setState({
totalPages: await api.getTotalPages(),
});
}
paginate=(pageNumber:number)=>{console.log("number",number)};
render() {
const { currentPage, totalPages } = this.state;
return (<main>
<ThemeProvider>
<Page />
</ThemeProvider>
<Pagination totalPages={+totalPages} paginate={this.paginate} />
</footer>
</main>)
}}
但每次我尝试转到下一页时,我都会收到此错误:
> TypeError: paginate is not a function
19 | <ul className='pagination'>
> 20 |{pageNumbers.map((number)=>(21 |<li key={number}
> className='page-item'>
> > 22 |<a className='page-link' href='!#' onClick={(number) => paginate(number)}>
>| ^ 23 |{number}24 |</a> 25 | </li>