inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 리액트 A-Z[19버전 반영]

마무리 된 일 표시하기(조건부 삼항 연산자)

체크박스 클릭 구현 함수에 대해서 질문드립니다.

313

ultimates

작성한 질문수 34

0

input checkbox 에서

onChange={() => this.handleCompleChange(data.id)}

함수를 실행하게끔하는데 () => 는 왜들어가는걸까요?

 

예를들어 같은 방식의 함수중에 onChange={this.handleChange} 함수의경우엔 () => 가 없더라구요. 구현 부분은 똑같이 함수이름 = (파라미터) => {} 로 구현되어 있습니다.

react redux tdd typescript next.js 소프트웨어-테스트

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

onChange={this.handleChange}onChange={() => this.handleCompleChange(data.id)} 두 경우의 차이는 바로 함수를 전달하는 방식과 관련이 있습니다.

onChange={this.handleChange}handleChange 함수를 참조하여 직접 전달하는 방식입니다. 이 경우, handleChange 함수가 호출될 때 이벤트 객체가 인자로 전달됩니다. 즉, 이벤트가 발생했을 때 이미 정의된 handleChange 함수가 호출되는 방식입니다.

반면 onChange={() => this.handleCompleChange(data.id)}에서는 화살표 함수 () =>를 사용해 새로운 함수를 만들고, 그 안에서 handleCompleChange 함수를 호출합니다. 여기서 화살표 함수 안의 data.idhandleCompleChange 함수에게 전달되는 인자입니다. 이렇게 화살표 함수를 사용하는 이유는 data.id와 같은 특정 인자를 함께 전달하고 싶을 때 사용합니다.

결론적으로, () => 화살표 함수가 없는 경우는 이벤트 객체만 필요로 하고, 화살표 함수를 사용하는 경우는 추가적인 인자(여기서는 data.id)를 handleCompleChange 함수에 전달하고자 할 때 사용하는 것입니다.

잘 이해가 되셨나요 님? 프로그래밍 학습에 더 궁금하신 사항이 있으시다면 언제든 질문해주세요.

강의 소스 코드 압축 풀기 오류

0

71

1

런타임 에러 ㅠㅠ

0

85

1

강의대로 따라갔는데 에러보다 api키로 들어간 넷플릭스? 그런게 렌더링 되지 않습니다 ㅠ

0

102

1

안녕하세요 개발과 상관없는 질문입니다만

0

111

1

리액트 라우터 관련

0

101

1

react-beatiful-dnd에서 문제가 발생합니다.

0

103

1

react19에서는 react-beautiful-dnd가 설치되지 않습니다.

0

811

1

useEffect로 사용을 해도 되나요?

0

198

1

넷플릭스 오리지널 제외하고 슬라이드가 동작을 안합니다.

0

195

1

react 19의 useActionState가 더이상 isPending은 지원하지 않는 듯합니다

0

280

2

리액트 dockderfile 작성 시 COPY 질문

0

145

1

next.js에서부터는 react query 필요없는지

0

320

1

기능

0

197

1

오류가 안보여요

0

194

1

CSS

0

217

1

local storage

0

209

1

list컴포넌트 생성하기

0

223

1

검색어 입력 후 초기화하는 방법 궁금합니다!

0

331

1

Banner.css에 대해서

0

446

1

플러그인이 추천을 안해줍니다

0

321

1

마이너스버튼 테스트

0

279

2

리액트 서버 실행 오류

0

1156

2

오류메세지는 확인했는데 어떻게 고쳐야 할지 모르겠습니다 ㅠ

0

298

1

creactStore질문이요

1

284

2