inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)

Marker 깜빡거림 문제

해결된 질문

372

Ryan Kim

작성한 질문수 8

0

안녕하세요.

map 에서 marker 가 깜빡거리는 문제가 있어서 질문드립니다.

(map home 에서 아무 동작도 하지 않고 있는 상태, marker 가 지속적으로 깜빡거림)

Screenshot 2024-07-13 at 10.21.40 PM.pngScreenshot 2024-07-13 at 10.21.46 PM.png

동영상을 업로드할 수 없어서 동영상 촬영후 깜빡거리기 전후를 캡쳐했습니다.

안드로이드에서만 발생하고, virtual device 와 실제 기기에서 모두 발생하고 있습니다.

혹시 계속해서 마커를 새로 조회해오거나, 제 실수로 리렌더링이 무한히 되는게 아닌가 싶어서, CustomMarker 컴포넌트랑, marker 조회하는 api 에 로그 추가해봤지만 한번 호출되고 그 후에는 함수가 실행되지 않는것으로 확인했습니다.

추가로 이 문제가 아이폰 simulator 에서는 발생하지 않고 있습니다.

혹시 제가 더 확인해 볼만한 포인트가 있을까요,,,?

같은 문제를 겪으신 분이 혹시 계실까요,,

react-native typescript nestjs react-query zustand

답변 1

0

Ryan Kim

질문 올린 후 조금 더 찾아보면서 해결은 했는데, 깔끔하게 해결했다는 느낌은 안드네요. 그래도 같은 문제를 겪으실 분들을 위해 공유합니다.

관련 이슈: https://github.com/react-native-maps/react-native-maps/issues/3098

해결 방법: Marker 의 tracksViewChanges 옵션을 false 로 설정한다.

const CustomMarker = ({
  coordinate,
  color,
  score = 5,
  ...props
}: CustomMarkerProps) => {
  console.log('custom marker');
  const markerView = (
    <View style={styles.container}>
      <View style={[styles.marker, {backgroundColor: colorHex[color]}]}>
        <View style={[styles.eye, styles.leftEye]} />
        <View style={[styles.eye, styles.rightEye]} />
        {score < 3 && <View style={[styles.mouth, styles.bad]} />}
        {score === 3 && <View style={[styles.soso]} />}
        {score > 3 && <View style={[styles.mouth, styles.good]} />}
      </View>
    </View>
  );

  return coordinate ? (
    <Marker coordinate={coordinate} tracksViewChanges={false} {...props}>
      {markerView}
    </Marker>
  ) : (
    markerView
  );
};

+그냥 false 로 설정하는게 너무 껄끄러워서 조금 더 알아본 정보 입니다.

  • tracksViewChanges 옵션이란?

  • 만약 기획 요구사항으로 인해 true 로 해야할 경우에는 어떻게 대응?

  • 내 코드에는 리렌더링될 만한 부분이 없는데, 깜빡거리는 이유 (추측)

https://chatgpt.com/share/08d501cb-be8b-4fc8-b69a-ebd09febe412

react-native-screens 버전 호환 문제

2

153

1

안드로이드 실행 중 Drawer네비게이션과 MapView 성능 문제

0

103

2

해당 강의 부분은 실제 활용하기에 부족해 제가 해결한 방법입니다.

0

96

1

소스코드가 강의 순서랑 다른가요?

0

72

2

현재 Windows에서 VsCode로 작업 중인데 추후에 IOS도 가능하게 하려면

0

115

2

react-native-fast-image는 react 19 버전에서 설치가 안되나요?

0

209

2

SQL Shell의 역할이 무엇인가요?

0

91

1

혹시 해당 강의에서invalidateQueries를 사용한 이유가 있을까요?

0

79

2

빠르게 실행해보고싶습니다.

0

83

1

강의 수강 순서 관련

0

70

1

애뮬레이터 실행 방법

0

99

2

무료 Apple ID로 실기기 테스트 가능한가요?

0

90

2

ios 실기기 연결

0

70

2

npm run ios에러

0

74

1

10월 삭제 예정인 강의는 이유를 알 수 있을까요?

0

101

1

캘린더 개발 후에 navigation 에 대해서 궁금한 점이 있습니다.

0

51

1

안드로이드 위치 권한 이슈 2가지 문의

0

71

1

지도가 보이려면 음.. 작성해주신 스타일과 다르게

0

74

0

제대로 설치한거같은데 안드로이드랑 ios 둘다 앱실행이 안되는것같아요

0

83

3

강의 내용을 보면 전체적으로 function 함수 키워드를 사용하시는데

0

69

2

강의 3-9 에서 useGetRefreshToken 훅 안에 즉시 함수로 처리하는 이유가 궁금합니다!

0

82

2

사내에서 figma.com 업로드 안되나요?

0

96

1

AWS EC2 + RDS 설정

0

85

2

안드로이드 안켜집니다.

0

91

2