【发布时间】:2021-08-05 06:18:36
【问题描述】:
我要限制分页数量!我正在使用 useEffect 和 Axios 从后端获取页数!在循环这些数字并在 JSX 中显示它们之后!但我不能限制这个数字!你可以帮帮我吗?这是代码...
const [pageNumber, setPageNumber] = useState();
这里我使用使用参数从 URL 中获取 pagenumlink!
const params = useParams();
// console.log(params);
let pageNumLink = params.page;
在我使用 useEffect 从后端获取页码之后!
useEffect(() => {
const fetchBlogs = async () => {
try {
const res = await axios.get(
`${process.env.REACT_APP_API_URL}/article/list/${pageNumLink}`
);
setArticleData(res.data.articles);
setPageNumber(res.data.pageCount);
} catch (err) {}
};
fetchBlogs();
}, [pageNumLink]);
在我为它循环页码之后!
var pagesArray = [];
for (let i = 1; i <= pageNumber; i++) {
pagesArray.push(<Link to={`/articles/${i}`}>{i}</Link>);
}
将其放入 JSX 之后:
<div>
{pagesArray}
</div>
结果是 1 2 3 4 5 6 7 8 9!!那么我该如何限制这一点并得到这个结果! 1 2 3 ... 9!提前谢谢!
【问题讨论】:
-
设置一个限制,一旦达到这个限制就退出循环。对于最后一页,只需将其从数组中弹出即可。
标签: javascript reactjs pagination react-router react-hooks