강의

멘토링

로드맵

Inflearn brand logo image

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

이상진님의 프로필 이미지
이상진

작성한 질문수

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

7.2) useEffect 사용하기

[7.2] useEffect와 이벤트 핸들러 질문

해결된 질문

작성

·

103

·

수정됨

0

안녕하세요 정환님. 우선 좋은 강의 감사드려요! 첫 프론트엔드 입문임에도 즐겁게 따라가고 있습니다.
useEffect를 설명하는 과정에서 setCount가 비동기 방식이니 count 변수에 바로 반영이 되지 않는다는 말씀을 듣고 궁금증이 생겨서 질문드립니다. (구글링을 시도해 봤으나 키워드 자체가 익숙하지 않아 정보를 찾기 힘들었습니다 ㅎㅎ;;)

const onClickButton = (incrementValue) => {
      const updatedCount = count + incrementValue;
      setCount(updatedCount);
      console.log(updatedCount);
};
  1. 위 코드와 같이 count를 더한 값을 미리 계산한 뒤, 그 값으로 setCount 및 console.log()를 찍어보면 업데이트시마다 값이 정확히 출력되는 것을 확인했습니다.

  2. 현재는 App 컴포넌트에서 count 변수의 값을 조작하는 곳이 버튼 한 곳(해당 이벤트 리스너) 밖에 없기에 크게 문제될 여지는 없다고 느껴집니다.

  3. 즉, 해당 경우에서는 단순 로그만 찍고 있는데, 이 경우라면 useEffect보다 해당 이벤트 리스너에 코드 한 줄 추가하는 것이 더 간단하다는 생각이 들었습니다!

 

결과적으로, 관리 포인트가 한 곳인 위 케이스에서 마저도 useEffect를 사용하는 것이 좋은 방법인지 여쭤보고 싶습니다!

 

배속으로 들어도 소리도 참 잘 들리는.. 너무 깔끔한 강의 감사합니다!
따뜻한 연말 보내세요🙇

답변 1

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

요렇게 처리하셔도 전혀 상관없습니다!

언제나 방법이 하나로 한정되어 있는것은 아니니까요 😃

단, 변경된 값을 통해 수행해야 하는 부가적인 로직이 길어지는 경우 변경된 값을 이용하는 로직은 별도의 함수 등으로 분리하셔야 하는 경우도 있으니 이 점만 유의하시면 좋을 것 같습니다.

 

이상진님의 프로필 이미지
이상진
질문자

안녕하세요. 좋은 의견 감사드립니다!!

이상진님의 프로필 이미지
이상진

작성한 질문수

질문하기