codestates / codestates/BEB-05-KAL2
useEffect 함수 안에 setState를 내부에서 호출하는 함수를 넣으니 렌더링을 무한으로 하는 에러
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
> ### 어떤 에러인가요?
> * 에러 1: useEffect 함수 안에 setState를 내부에서 호출하는 함수를 넣으니 렌더링을 무한으로 하는 일이 발생했다.
> ### 에러 메시지
> ```
> // before
>const filtering = () => {
> if (category === "ALL") {
> setNftList(originalNftList);
> } else {
> const tempArr = originalNftList.filter((e) => {
> return e.category === category;
> });
> setNftList(tempArr);
> }
> };
> ```
>
> ### 에러 핸들링 방법
> * category 상태값을 쓰지 않고 filtering 함수를 호출할 때 선택한 라디오버튼의 value 값을 직접 넘겨 필터링 한 후 filtering의 콜백함수로 setCategory를 사용하여 필터링 된 리스트가 렌더링 될 수 있도록 유도했다.
>
> ```
> // after
> const filtering = (c) => {
> if (c === "ALL") {
> setNftList(originalNftList);
> } else {
> const tempArr = originalNftList.filter((e) => {
> return e.category === c;
> });
> setNftList(tempArr);
> }
> };
> const setCate = (e) => {
> filtering(e.target.value, () => {
> return setCategory(e.target.value);
> });
> };
> ```
>
> ### 에러 핸들링을 위해 참고한 레퍼런스 링크
> *
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.