채널톡 아이콘

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

dvdve님의 프로필 이미지

작성한 질문수 12

핸즈온 리액트 네이티브

10.4 :: 글 작성 화면 만들기

사진이 나오지 않는 문제로 질문드립니다.

해결된 질문

작성

·

38

·

수정됨

0

WriteTextScreen에 사진이 나타나지 않아서 질문드립니다.

cosole.log에는 selectPhotosScreen에서 params로 보낸 photoUris 가 아래처럼 잘 전달되어 오는데


console.log('photoUris', photoUris);

NOBRIDGE) LOG photoUris ["file:///storage/emulated/0/Download/s-35.jpeg", "file:///storage/emulated/0/Download/s-34.jpeg"]

화면에서는 사진이 나오지 않는 상태라 질문드립니다.

깃허브 주소

답변 2

1

김범준님의 프로필 이미지
김범준
지식공유자

질문하기 전에 스스로 문제를 해결하는 연습을 하는것이 좋습니다.

먼저 차분하게 오타를 확인하세요. 코드를 변경하지 않았는데 문제가 발생한다면 대부분 오타입니다.

만약 에러가 발생하면 해당 에러 메시지를 구글에서 검색해서 확인해보세요. 대부분의 문제는 이미 질문한 사람이 있습니다.

단, 검색할 때 한글은 사용하지 마세요. 검색 결과의 양과 질에서 많은 차이가 있습니다.

 

수정할곳은,

https://github.com/dvrakry/rn-photo/blob/master/src/screens/WriteTextScreen.js#L19

부분을 다음과 같이 수정하세요.

const width = useWindowDimensions().width / 4;

 

width 값을 확인해보면 NaN이 나옵니다.

에러가 없다는건 코드에는 문제가 없다는 의미입니다.

그렇다면 어떤 변수에 값이 잘못 들어가있을 가능성이 있습니다. 관련된 변수들에 값이 잘 들어가있는지 확인해보세요.

dvdve님의 프로필 이미지
dvdve
질문자

아... 변수가 잘못됐을거란 생각을 못해봤네요...ㅠ 감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

dvdve님께서 경험하고 계신 문제는 URI로 전달된 이미지가 화면에 제대로 표시되지 않는 부분과 관련이 있습니다. 주어진 URI를 통해 이미지가 렌더링되지 않는 경우를 해결하기 위해 몇 가지 점검 사항을 말씀드리겠습니다.

문제 해결을 위한 점검 사항

  1. 이미지 컴포넌트 확인:

    • 이미지를 렌더링하는 컴포넌트가 Image라면, source prop이 제대로 설정되어 있는지 확인해야 합니다. 아래와 같은 형태로 설정하셨는지 확인해보세요:
      
      <Image
      source={{ uri: photoUri }}
      style={{ width: 100, height: 100 }}
      />
      

  2. 파일 경로 접근 권한:

    • Android의 경우, 외부 저장소에서 파일을 불러오기 위해 권한이 필요합니다. AndroidManifest.xml 파일에서 외부 저장소 읽기 권한이 설정되어 있는지 확인하세요.
    • 예시) <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  3. photoUris 값의 유효성:

    • 전달된 URI가 실제로 유효한 경로인지 체크해 보세요. 만약 이미지가 로컬에 존재하지 않는 경로라면, 당연히 렌더링이 되지 않을 것입니다.
  4. 오류 로그 확인:

    • 컨솔 로그를 통해 에러가 발생하고 있는지 확인하고, 발생 시 구체적인 에러 메시지를 통해 문제가 어디에서 발생하는지 확인해보세요.

관련된 질문 답변

또한, 이미지 렌더링은 GS 기반의 권한에 크게 의존할 수 있으므로 위의 가이드를 참조하여 설정 확인 부탁드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.