reactjs - 在页面索引更改后获取数据
问题描述
我从 api 获取数据并通过 pageIndex = 1 并获得 10 个第一个项目和 pageIndex 2 获得第二个 10 个项目,依此类推,然后当用户单击 nextPage/prevPage 时,PageIndex 将增加/减少,我想再次获取数据,我应该如何在反应中做到这一点:
const [data, setData] = useState([])
const [index, setActiveStep] = useState(0);
useEffect(() => {
const getData = async () => {
const dataFromServer = await fetchData()
setData(dataFromServer )
}
getData() }, [])
// Pagination
const forwardButton = () => {
setActiveStep((prevActiveStep) => prevActiveStep - 1);
};
// Pagination
const previousButton = () => {
setActiveStep((prevActiveStep) => prevActiveStep + 1 );
};
const fetchData = async () => {
const res = await fetch(`api?page=${index + 1}`)
const data = await res.json()
TOTAL_ITEMS = data.totalItems
return data;
}
解决方案
修改索引时将触发 useEffect。当用户单击 prev 或 ext 按钮时,您可以获取数据
useEffect(() => {
const getData = async () => {
const dataFromServer = await fetchData();
setData(dataFromServer);
}
getData();
}, [index])
推荐阅读
- python - return 语句在这个函数中是如何工作的?
- java - 平面地图操作后访问地图操作内的 Mono 对象
- mongodb - 从 mongoDB 数组中检索分页的一组排序结果
- google-sheets - 在谷歌表格中使用查询,如何只显示一次?
- node.js - Mongodb:从我的集合中聚合一个随机 $sample 并更新所有这些文档
- django - 如何使模型字段值唯一(唯一 = True),但仅将其与该用户的其他模型进行比较?
- python - 用 Beautiful Soup 抓取 newegg.ca 的问题
- bash - 如何解决使用问题:目录名路径?
- r - 如何使用 for 循环在 R 函数 ave 中添加动态变量名称?
- python-2.7 - 为什么我会收到不支持的操作数类型错误?