const loadMoreHanlder = () => {
};
<button onClick={loadMoreHanlder}>더보기</button>
SKIP - 어디서 부터 데이터를 가져 오는지에 대한 위치
처음에는 0 부터 시작 LIMIT이 6이라면 다음 번에는
2rd Skip = 0 + 6
LIMIT - 처음 데이터를 가져올때와 더보기 버튼을 눌러서 가져올때 얼마나 많은 데이터를 한번에 가져오는지
let limit = req.body.limit ? parseInt(req.body.limit) : 20;
let skip = req.body.skip ? parseInt(req.body.skip) : 0;
Product.find(findArgs)
.populate("writer")
.sort([[sortBy, order]])
.skip(skip)
.limit(limit)
.exec((err, productInfo) => {
if (err) return res.status(400).json({ success: false, err });
return res.status(200).json({
success: true,
productInfo,
postSize: productInfo.length,
});
});
}
});
const getProducts = (body) => {
axios.post("/api/product/products", body).then((response) => {
if (response.data.success) {
if (body.loadMore) {
setProducts([...Products, ...response.data.productInfo]);
} else {
setProducts(response.data.productInfo);
}
setPostSize(response.data.postSize);
} else {
alert(" 상품들을 가져오는데 실패 했습니다.");
}
});
};
const loadMoreHanlder = () => {
let skip = Skip + Limit;
let body = {
skip: skip,
limit: Limit,
loadMore: true,
filters: Filters,
};
getProducts(body);
setSkip(skip);
};
// 더보기 버튼을 눌렀을때 정보를 더 추가