Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ ViewProduct ] 상품보기 페이지 api 연결 #153

Merged
merged 10 commits into from
Jul 22, 2022
Prev Previous commit
Next Next commit
[ feat ] 필터 요소 눌렀을 때 통신 가능
say-young516 committed Jul 21, 2022
commit e02175abb5186c56c87f8f8ba62c35d54567c103
8 changes: 4 additions & 4 deletions components/viewProduct/FilterDropdown.tsx
Original file line number Diff line number Diff line change
@@ -84,7 +84,7 @@ export default function FilterDropdown(props: FilterDropdownProps) {
case 1:
newStr = '';
checkedItems[1].forEach(function (item, index) {
newStr += `${item},`;
newStr += `${item + 1}`;
});
newQuery = {
search: filterQuery.search,
@@ -100,7 +100,7 @@ export default function FilterDropdown(props: FilterDropdownProps) {
case 2:
newStr = '';
checkedItems[2].forEach(function (item, index) {
newStr += `${item},`;
newStr += `${item + 1}`;
});
newQuery = {
search: filterQuery.search,
@@ -116,7 +116,7 @@ export default function FilterDropdown(props: FilterDropdownProps) {
case 3:
newStr = '';
checkedItems[3].forEach(function (item, index) {
newStr += `${item},`;
newStr += `${item + 1}`;
});
newQuery = {
search: filterQuery.search,
@@ -132,7 +132,7 @@ export default function FilterDropdown(props: FilterDropdownProps) {
case 4:
newStr = '';
checkedItems[4].forEach(function (item, index) {
newStr += `${item},`;
newStr += `${item + 1}`;
});
newQuery = {
search: filterQuery.search,
68 changes: 34 additions & 34 deletions core/api/viewProduct.ts
Original file line number Diff line number Diff line change
@@ -19,33 +19,13 @@ import { baseInstance } from '../axios';
// isError: error,
// };
// };
// export const useGetBannerViewProduct = (
// category: number,
// currentPage: number,
// viewProductData: string,
// ) => {
// const { data, error } = useSWR(
// [`${category}?page=${currentPage}&`, viewProductData],
// baseInstance.get,
// {
// errorRetryCount: 3,
// },
// );
// return {
// toyFilterList: data,
// isLoading: !error && !data,
// isError: error,
// };
// };
// export const getBannerViewProduct = (category: number, currentPage: number) => {
// return baseInstance.get(`/toy/list/${category}?page=${currentPage}`);
// };
// export const getViewProduct = (currentPage: number) => {
// return baseInstance.get(`/toy/list/?page=${currentPage}`);
// };
export const useGetViewProduct = (viewProductData: string) => {
export const useGetBannerViewProduct = (
category: number,
currentPage: number,
viewProductData: string,
) => {
const { data, error } = useSWR(
[`/toy/list/?`, viewProductData],
[`/toy/list/${category}?page=${currentPage}&`, viewProductData],
baseInstance.get,
{
errorRetryCount: 3,
@@ -57,12 +37,15 @@ export const useGetViewProduct = (viewProductData: string) => {
isError: error,
};
};
export const useGetBannerViewProduct = (
category: number,
viewProductData: string,
) => {
export const getBannerViewProduct = (category: number, currentPage: number) => {
return baseInstance.get(`/toy/list/${category}?page=${currentPage}`);
};
// export const getViewProduct = (currentPage: number) => {
// return baseInstance.get(`/toy/list/?page=${currentPage}`);
// };
export const useGetViewProduct = (viewProductData: string) => {
const { data, error } = useSWR(
[`/toy/list/${category}?&`, viewProductData],
[`/toy/list/`, viewProductData],
baseInstance.get,
{
errorRetryCount: 3,
@@ -74,9 +57,26 @@ export const useGetBannerViewProduct = (
isError: error,
};
};
export const getBannerViewProduct = (category: number) => {
return baseInstance.get(`/toy/list/${category}?`);
};
// export const useGetBannerViewProduct = (
// category: number,
// viewProductData: string,
// ) => {
// const { data, error } = useSWR(
// [`/toy/list/${category}?`, viewProductData],
// baseInstance.get,
// {
// errorRetryCount: 3,
// },
// );
// return {
// toyFilterList: data,
// isLoading: !error && !data,
// isError: error,
// };
// };
// export const getBannerViewProduct = (category: number) => {
// return baseInstance.get(`/toy/list/${category}?`);
// };
export const getViewProduct = () => {
return baseInstance.get(`/toy/list/`);
};
7 changes: 4 additions & 3 deletions pages/viewProduct.tsx
Original file line number Diff line number Diff line change
@@ -62,6 +62,7 @@ export default function viewProduct({
Number(router.query.iconId) !== 0
? useGetBannerViewProduct(
Number(router.query.iconId),
0,
`search=${filterQuery.search}&type=${filterQuery.type}&month=${filterQuery.month}&price=${filterQuery.price}&playHow=${filterQuery.playHow}&store=${filterQuery.store}`,
)
: useGetViewProduct(
@@ -70,7 +71,7 @@ export default function viewProduct({

useEffect(() => {
if (result) {
const filterData = result.filter(
filterData = result.filter(
(_: any, idx: number) =>
(currentPage - 1) * 40 <= idx && idx < currentPage * 40,
);
@@ -86,7 +87,7 @@ export default function viewProduct({
// );
// setToyList(filterData);
// window.scrollTo(0, 0);
console.log('토이리스트', toyFilterList);
console.log('토이리스트', toyFilterList.data.data.result);
}
}, [toyFilterList]);
return (
@@ -205,7 +206,7 @@ const StEmptyView = styled.section`
// };
export const getServerSideProps: GetServerSideProps = async (context) => {
if (context.query.iconId && Number(context.query.iconId) !== 0) {
const res = await getBannerViewProduct(Number(context.query.iconId));
const res = await getBannerViewProduct(Number(context.query.iconId), 0);
return {
props: {
filterData: res.data.data.filterData,