inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코드로 배우는 React 19 with 스프링부트 API서버

React Router 프레임워크모드소개

navigate 사용시 useCallback() 사용 여부가 궁금합니다.

212

Won Ders

작성한 질문수 14

0

  1. 지난 강의에서 LIST, ADD 클릭 할때와

  const handleClickList = useCallback(() => {
    navigate({ pathname: 'list' });
  }, []);

  const handleClickAdd = useCallback(() => {
    navigate({ pathname: 'add' });
  }, []);
  1. 지금 강의에서 moveToModify 클릭할 때

  const moveToModify = () => {
    navigate({ pathname: `/todo/modify/${tno}`, search: queryStr   });
};

useCallback() 사용 여부 차이가
동적으로 변할 여지가 있는 함수를 새로 호출하는게 맞아서 그런걸까요?(=${tno}의 변경 가능성?)

props로 써야할 것과 router로 써야할 것을 구분하라고 하셨습니다. 혹시 이것과 관련된 말씀이셨나요?

검색해도 명쾌히 이해가 가지 않습니다!!

 

 

react spring-boot jpa jwt redux-toolkit

답변 1

0

구멍가게코딩단

강의를 열심히 들어주셨네요. 감사합니다^^

 

useCallback( ) 의 목표는 컴포넌트가 새로 만들어 질때 마다 동일한 함수를 새로 만들지 않는다 입니다.

 

메뉴컴포넌트의 경우 메뉴의 링크가 변하는 일은 없기 때문에 useCallback( )을 이용하는게 의미가 있지만

 

조회 페이지에서 수정으로 넘어가는 경우는 매번 해당 링크가 변하기 때문에 굳이 이걸 새로 만들지 않고 유지할 필요가 없기 때문에 useCallback( )을 사용하지 않은 것입니다.

 

말씀하신대로 매번 tno값이 변경되어서 새로운 컴포넌트가 만들어지는 관계이기 때문입니다.

 

props 와 router의 문제는 이 문제만이 해당되는 것은 아닙니다만 변경되는 값이 기준이 되기 때문에 useCallback( )의 의존성을 사용할 때 주의해야 하는 기준이 됩니다.

 

어떤 분이 정리를 잘 해둔게 있어서 링크를 추가합니다.

https://5kdk.github.io/blog/2023/07/04/necessary-with-usememo-and-usecallback

 

 

동일하게 실습하는데 이상하게 페이지를 찾지 못하네요..

0

74

2

22. REST 방식 컨트롤러 만들기(2), 29. 등록처리 부분 질문이 있습니다.

0

74

2

37강. 강의수업듣다 질문드립니다.

0

57

2

TodoDTO test 함수

0

80

3

강사님 오타 있음요

0

78

2

No 1. 교제(ppt) soruce 복붙 문제 의 건

0

95

4

No 1. 교제(ppt) soruce 복붙 문제 의 건

0

70

3

17강 문의드립니다.

0

44

1

카카오 연동설정이 이제 안되는거 같아요

0

193

2

8장 마지막 강의 시 오류

0

98

4

혹시 뭐가 문제인지 알 수 있나요?

0

87

2

챕터: React-Router 설정

0

58

2

백)TODO관련

0

56

2

마리아 db 설치중 포트를 이미 사용중이라고 합니다

0

112

2

이강의 듣고 소화시켰다면 몇년차 정도 개발자라고 할수 있을까요?

0

105

1

CSR , SSR 의 수요 궁금증 질문

0

83

2

섹션5부터...

0

73

1

간단한 코드 질문!!

0

61

2

tbl_todo 질문입니다

0

65

2

수업 외 질문인데 'tbl'이 무슨 의미인가요???

0

292

2

엔티티클래스에서 질문입니다

0

78

2

수정시 writer값이 삭제되는 오류

0

42

2

교안 31 오타 수정해주세요

0

64

2

쿠키에 accessToken, refreshToken을 담고, 조회 시에 undefined

0

80

1