별다른 생각없이 강의나 다른 소스들 봐도 onClick={handleClick} 이렇게 쓰길래 그대로 쓰다가
onClick 함수에 파라미터를 넘겨서 처리할 일이 있어서 onClick={handleClick('month')} 이렇게 사용헀더니 바~로 오류가 났다.
해결
//오류
onClick={handleClick('month')}
//해결
onClick={() => handleClick('month')}
리액트는 컴파일 시 js로 컴파일 되기 떄문에 () 를 붙여놓으면 바로 실행이 되버린다.
따라서 onClick할때마다 실행되게 하려면 () => { 실행할 이벤트 } 이렇게 작성해야한다.
+깨달음
만약 event도 같이 넘기고 싶다면 아래처럼 사용하면 된다.
onClick={(event) => handleChangeTab(event, 'month')}
반응형
'React' 카테고리의 다른 글
[React & 가계부프로젝트] 모달만들기 props.children ( v-slot 같은 개념 만들어보기) (0) | 2022.06.27 |
---|---|
[React & 가계부프로젝트] JSX if else 문 만들기 (리액트로 v-if / v-else 만들어보기) (0) | 2022.06.27 |
[React & 가계부프로젝트] router 설정하기 (0) | 2022.06.27 |
[React & 가계부프로젝트] useNavigate() may be used only in the context of a <Router> component. (0) | 2022.06.27 |
[React & 가계부프로젝트] useEffect 콘솔에 자꾸 2번씩 찍힐때 (0) | 2022.06.27 |