[ React Native ] Error while updating property 'borderTopLeftRadius' of a view managed by: RCTImageView

2025. 1. 8. 14:24·Develop
목차
  1. 문제 원인 분석
  2. 문제 발견
  3. 문제 해결하기

 

React Native 프로젝트에서 특정 화면을 렌더링하던 중 이상한 오류 메시지를 마주하게 되었다.

 

Error while updating property 'borderTopLeftRadius' of a view managed by: RCTImageView
java.lang.String cannot be cast to java.lang.Double

 

이 오류 메시지를 보니, borderTopLeftRadius 속성에 숫자(Double) 타입 값이 전달되어야 하는데, 문자열(String) 값이 전달되었기 때문에 발생한 오류로 보였다.
그런데 문제는… 코드 어디에서도 borderTopLeftRadius 속성을 직접 사용한 적이 없다는 것이었다.

 

도대체 왜 이런 오류가 발생한 걸까? 🤔

 

문제 원인 분석

에러 메시지에서 최대한 힌트를 얻어보았다.

 

  • 문제 발생 위치: RCTImageView
    → 이는 React Native의 기본 이미지 컴포넌트가 렌더링될 때 발생한 오류이다.
  • 문제 속성: borderTopLeftRadius
    → 이미지 컴포넌트에 적용된 border-radius 속성이 내부적으로 분리되어 처리될 때 발생한 문제로 보인다.
  • 오류 메시지: java.lang.String cannot be cast to java.lang.Double
    → border-radius 값이 문자열로 전달됨

결국 이미지 컴포넌트에 속성으로 준 border-radius의 값이 문자열로 전달되었다는 것이다.

 

문제 발견

오류 메시지에서 힌트를 얻은 것을 바탕으로, 프로젝트 전체적으로 border-radius를 사용한 부분을 검색해보았다.

 

대부분의 경우 border-radius 값은 '12px', '8px' 등과 같이 픽셀(px) 단위로 설정되어 있었는데, 딱 한 곳에서 % 단위로 설정된 부분을 발견했다.

 

const ImgLogo = styled.Image`
  width: 206px;
  height: 206px;
  border-radius: 50%;
  background-color: #dddddd;
`;

 

그리고 그 부분으로 가보니 Image 컴포넌트안의 속성인 것까지 확인!

 

문제 해결하기

뭔가 %를 문자열로 인식해서 오류가 나는 것 같은 느낌이었다.

const ImgLogo = styled.Image`
  width: 206px;
  height: 206px;
  border-radius: 50px; //px로 변경
  background-color: #dddddd;
`;

 

그래서 border-radius 값을 px로 변경해 보니 에러 해결!

 

🤔 왜 % 값이 문제였을까?

 

React Native에서 border-radius 속성은 숫자 값(Double)으로 처리되며, px 단위를 생략한 숫자 값으로만 인식한다.

그래서 px 값은 문자열로 입력해도 React Native가 자동으로 처리한다.

하지만, % 값은 숫자가 아닌 문자열로 인식되기 때문에 변환 과정에서 오류가 발생한 것이었다!

borderRadius: 12 // ✅ 숫자(Double) 타입 - 올바른 값
borderRadius: '12px' // ✅ 문자열(String)로 전달되지만 내부적으로 처리됨
borderRadius: '50%' // ❌ 문자열(String)로 처리되어 오류 발생

 

 

해결 완~

 

'Develop' 카테고리의 다른 글

gpt-error-analyzer 라이브러리 개발기: 실시간 에러 분석 자동화  (0) 2025.04.08
디스코드 알림봇 만들기: 반복 메시지, 슬래시 커맨드, 자동 등록까지  (0) 2025.04.08
[ React ] useInsertionEffect 참조 에러 ( @emotion/react )  (0) 2025.03.06
[ CI/CD ] GitHub Actions로 AWS EC2 배포 시 환경변수 적용 문제 해결기  (0) 2025.01.07
[ React Native ] com.android.builder.testing.api.DeviceException: No connected devices!  (1) 2024.12.27
  1. 문제 원인 분석
  2. 문제 발견
  3. 문제 해결하기
'Develop' 카테고리의 다른 글
  • 디스코드 알림봇 만들기: 반복 메시지, 슬래시 커맨드, 자동 등록까지
  • [ React ] useInsertionEffect 참조 에러 ( @emotion/react )
  • [ CI/CD ] GitHub Actions로 AWS EC2 배포 시 환경변수 적용 문제 해결기
  • [ React Native ] com.android.builder.testing.api.DeviceException: No connected devices!
seio924
seio924
seio924 님의 블로그 입니다.
  • seio924
    seio924 님의 블로그
    seio924
  • 전체
    오늘
    어제
    • ROOT (51)
      • Mark Up (1)
      • Style Sheet (1)
      • Language (5)
        • JavaScript (5)
      • CS (0)
      • 알고리즘 (26)
      • 디자인 패턴 (1)
      • Develop (8)
      • 디자인 툴 (1)
      • COCOMU (8)
      • FRIENDY (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BFS
    DFS
    figma
    GPT
    Pretendard
    디스코드 봇 제작
    javascript
    특수문자 코드
    s3
    cogroom
    CloudFront
    cocomu
    완전탐색
    merge
    spa fallback
    gpt-error-analyzer
    storybook
    백준
    DP
    llm
    그리디
    프로그래머스
    react
    코코무
    배포
    Git
    이분탐색
    라이브러리 제작
    알고리즘
    html
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
seio924
[ React Native ] Error while updating property 'borderTopLeftRadius' of a view managed by: RCTImageView

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.