• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

22.03.10 15:15 작성 조회수 119

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

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