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

장해리님의 프로필 이미지

작성한 질문수

맛집 지도앱 만들기 (React Native + NestJS)

[5-3] 장소 등록하기(4) - 주소 조회 with Google API

setScore 가 아닌 handleChangeScore 함수를 만들어 넘기는 이유가 있을까요?

해결된 질문

24.10.20 10:56 작성

·

29

0

  • 질문 작성시 꼭 참고해주세요

    • 최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.

    • 맥/윈도우, 안드로이드/iOS, ReactNative, Node 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다.

       

    • 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. (일부만 자르거나 일부만 복사해서 올려주시면 답변이 어렵습니다.)

       

 

안녕하세요! 강의 너무 잘 듣고 있습니다. 만들면서 따라가다 보니 에러가 나거나 하지는 않았지만 궁금한 점이 생겨서 질문남깁니다. 이번 강의에서 ScoreInput 컴포넌트에 전달하는 onChangeScore 함수로 handleChangeScore 를 정의해서 넘기셨는데, 사실 이 함수가 하는 일은 현재 setScore를 하는 것 뿐이라 그냥 setScore 함수를 넘겨도 되지 않는지 의문이 들어서요. 혹여 그렇게 했을 경우 문제가 되거나 하는 부분이 있다면 말씀 부탁드립니다. 감사합니다!

답변 2

1

Kyo님의 프로필 이미지
Kyo
지식공유자

2024. 10. 20. 11:02

저는 핸들러함수로 전달하는것을 선호해서 그렇게했는데, setState를 직접 사용해도 됩니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 10. 20. 11:01

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

장해리님께서 강의를 들으시면서 이해가 가지 않는 부분에 대해 질문해 주셔서 감사합니다. 질문하신 내용은 setScore 대신 handleChangeScore 함수를 만들어서 사용하는 이유에 대한 것입니다. 이와 비슷한 질문은 많은 개발자들이 하시는 질문 중 하나입니다.

핸들러 함수를 만드는 이유

  1. 확장성: handleChangeScore 함수는 확장 가능성을 제공합니다. 현재는 단순히 setScore만 호출하지만, 나중에 상태 변경 이외에 다른 작업(예: 로그 기록, 추가적인 상태 업데이트 등)을 해야 할 경우 함수 내에 로직을 추가할 수 있습니다.

  2. 가독성: 특정 로직을 함수로 만들어 사용하면 코드가 더 직관적이 됩니다. handleChangeScore라는 함수명은 해당 함수가 수행하는 작업에 대한 명확한 설명이 될 수 있으며, 여러 곳에서 사용할 경우 중복을 줄일 수 있습니다.

  3. 디버깅 및 유지보수: 문제가 발생했을 때, 관련 로직이 함수로 분리되어 있다면 디버깅이 더 쉽습니다. 이후에 코드베이스가 확장되었을 때 유지보수가 용이합니다.

관련 질문 및 답변 링크

이와 관련된 더 구체적인 사례는 아래의 질문에서 확인할 수 있습니다:

만약 직접 setScore를 전달해도 현재는 문제 없이 동작할 수 있겠지만, 위의 이유들로 인해 일반적으로를 함수로 명확히 정의하여 사용하는 것이 좋은 코딩 습관입니다.

저는 질문자님의 이해를 돕고자 유사한 토픽에 대해 간단히 설명드렸으며, 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.