我在我的项目中使用Next.js和MUI设计系统。在其中一个组件中,我使用了一个具有多个页面的表,并使用MUI中的Pagination组件查看表中的不同页面。目前我使用a
标记,但我希望能够使用Next.JS的链接组件代替。
这就是我的工作代码看起来的样子:
<PaginationItem
component={'a'}
href={`/tunes${item.page === 1 ? '' : `?page=${item.page}`}`}
{...item}
/>
这就是我试图写的:
<PaginationItem
component={Link}
href={`/tunes${item.page === 1 ? '' : `?page=${item.page}`}`}
{...item}
/>
我得到这个错误消息:Error: Multiple children were passed to <Link> with 'href' of '/tunes?page=0' but only one child is supported https://nextjs.org/docs/messages/link-multiple-children Open your browser's console to view the Component stack trace.
所以问题似乎是MUI分页组件在Link中适合两个孩子,尽管Link标记只允许一个。它在控制台中看起来像这样(当使用a标记时):
<a
class='MuiButtonBase-root MuiPaginationItem-root MuiPaginationItem-sizeSmall MuiPaginationItem-text MuiPaginationItem-circular MuiPaginationItem-textPrimary MuiPaginationItem-page css-1vj5it5-MuiButtonBase-root-MuiPaginationItem-root'
tabindex='0'
href='/tunes?page=3'
aria-label='Go to page 3'
>
3
<span class='MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root'></span>
</a>
有没有一种方法可以将合并Next.js的Link组件与MUI的Pagination组件结合起来?也许用某种方法把里面的东西包起来,或者让 linq 在里面接受不止一个孩子?
1条答案
按热度按时间6ovsh4lw1#
您应该将
PaginationItem
Package 在Link
组件中,而不是相反。你可以这样做: