인프런 커뮤니티 질문&답변

Jaewoong Kang님의 프로필 이미지
Jaewoong Kang

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

handleFilters를 정의해줄 때 문의 드립니다.

작성

·

180

0

handleFilters를 정의해줄때, 마지막에 setFilters(newFilters)로 state을 업데이트 해주면 문제가 생기나요?

다름이아니라 지금 filtering 된 후의 데이터가 limit 숫자를 넘어서서 더보기 버튼이 활성화된 경우엔, 여기서 더 보기 버튼을 누를시에 필터링된 데이터의 다음 페이지가 아닌 원래 전체 데이터에서 limit 숫자만큼 더한 숫자번째의 데이터부터 출력이 되는데요. 보니 더보기 버튼이 호출하는 메소드는 사실 필터랑 상관없는 getProducts 다 보니 제대로 출력이 안되게 되는데요. 이것을 해결하려고 아래와같이 그냥 loadMoreHandler를 정의해줄때도 filters값을 추가하여 이 값에 Filters state값을 읽어서 넣어주었는데, 이때 Filters를 업데이트하줘야해서 setFilters를 추가해 줬습니다. 혹시 이렇게해도 상관없는 건가요?

const loadMoreHandler = () => {
        let skip = Skip + Limit;
        let body = {
            skip: skip,
            limit: Limit,
            filters: Filters,
            loadMore: true
        }
        console.log(body.filters);
        getProducts(body);
        setSkip(skip);
    };

const handleFilters = (filters, categories) => {
        const newFilters = {...Filters};
        newFilters[categories] = filters
        showFilteredResult(newFilters);
        setFilters(newFilters);
    };

 

답변 1

0

Jaewoong Kang님의 프로필 이미지
Jaewoong Kang
질문자

앗! 라디오박스 필터 2번째 강의서 추가시켜주시는군요 

Jaewoong Kang님의 프로필 이미지
Jaewoong Kang

작성한 질문수

질문하기