본문 바로가기
프로젝트

문제해결_사용자 경험을 향상시키기 위해 ( useEffect )

by warrior.p 2024. 3. 12.
  • 현재 날씨가 좋은 지역을 리코일 전역상태로 넣었는데, 실시간이다 보니(30분 주기로 바꾸었지만) 데이터가 자주 바뀌어서 사용자에게 불편한 경험을 하게 할것 같았다. 메인뷰의 지역 셀렉트박스의 필터는 마운트될때 한번만 적용시키고 그 외에는 적용이 안되도록 해보았다.
useEffect(() => {
    // 컴포넌트가 마운트될 때 현재 추천지역 Recoil 상태를 로컬 상태의 초기값으로 설정
    setSelectedValue(defaultLocationName);
    // 의존성 배열을 빈배열로 두어, 리코일상태가 변하더라도 영향 받지 않음
  }, []);
  • 차트 컴포넌트와 기록 컴포넌트의 부모 컴포넌트인 MainView 컴포넌트에서 의존성배열을 빈배열로만 두면 된다.