강의

멘토링

커뮤니티

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

천영도님의 프로필 이미지
천영도

작성한 질문수

실전 리액트 프로그래밍

사용자 페이지 구현하기

질문이 있습니다

해결된 질문

작성

·

202

1

안녕하세요~ 강의 잘 듣고 있습니다!

7:45 경 작성하는 useEffect 부수함수에 관해서 질문이 있는데요. 

새로고침 말고, 홈페이지에서 검색을 통해 유저 페이지로 넘어가는 경우에, 아래의 코드 때문에 user가 store에 저장됩니다. 근데 방금 작성한 useEffect 훅의 부수 함수가 user를 받아와서 다시 store에 저장하더라구요. 중복이 발생했는데 큰 문제가 없을까요?

// SearchInput.js
function goToUser(value) {
    const user = autoCompletes.find((item) => item.name === value);
    if (user) {
      dispatch(userActions.setValue('user', user)); // setValue 액션이 SearchInput 컴포넌트에서 먼저 발생
      history.push(`/user/${user.name}`);
    }
  }

답변 1

2

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

안녕하세요!
크게 문제되지는 않을 것 같습니다.
다만 좀 더 최적화를 한다면 유저 페이지에서 name 을 검사해서 이름이 다른 경우에만 서버 API를 호출할 수도 있을 것 같습니다.
goToUser 에서 넣어준 정보가 오래된 정보일 수도 있어서 불안하다면 지금처럼 서버 API를 호출해야겠구요.
참고로 cash 와 같은 민감한 정보가 있다면 최신 정보를 보여주는 게 중요해서 서버 API를 자주 호출하기도 합니다

천영도님의 프로필 이미지
천영도

작성한 질문수

질문하기