[RN] react-native useRef 사용방법

2024. 5. 27. 11:32·React Native
반응형
반응형

 

🐰: 구현하고자 했던 내용은 자동 스와이프 되는 Carousel 배너가

다른 화면을 다녀오면 첫번째 배너로 초기화 되게 하는 기능을 구현하고자 했다.

 

 


 

UseRef 란?

 

참조를(reference)를 생성하고 관리하기 위해 사용되는 hook 이며, 함수형 컴포넌트 내에서 가변적인 상태를 유지하고 업데이트하는데 사용된다.

 

import { useRef } from 'react';

  //1. useState 상태 훅을 선언하여
  //currentIndex: 현재 캐러셀의 인덱스를 저장하는
  //setCurrentIndex: currentIndex를 업데이트 하는 함수
  const [currentIndex, setCurrentIndex] = useState(0);
  

  //2.캐러셀 컴포넌트에 접근하기 위한 참조
  //초기값은 null
  const carouselRef = useRef(null);
  
  
    <Carousel
      //ref 속성을 통해 carouselRef를 전달
      ref={carouselRef}
      //캐러셀 컴포넌트가 특정 아이템으로 스냅(이동)될 때마다 현재 인덱스를 상태로 저장하고, 이 상태를 다른 곳에서 사용할 수 있도록 함.
      //useRef를 사용해 캐러셀 컴포넌트에 직접 접근가능
      onSnapToItem={(index: number) => setCurrentIndex(index)}
    />

 

여기서 onSnapToItem은 Carousel라이브러리의 Callbacks Prop중 하나로,

항목에 스냅한 후 콜백이 실행되게 해준다.

 


 

위와같이 구현하면 캐러셀 배너가 다른 화면을 다녀와도

첫 배너부터 롤링된다.

반응형

'React Native' 카테고리의 다른 글

[RN] react-native Code Push  (0) 2024.06.04
[RN] react-native 키보드 가림현상 - iOS  (0) 2024.05.29
[RN] react-native Linking 전화걸기, 문자, 메일보내기  (0) 2024.05.27
[RN] react-native ScrollView  (0) 2024.05.27
[RN] react-native, No bundle URL present. error (iOS)  (0) 2024.05.21
'React Native' 카테고리의 다른 글
  • [RN] react-native Code Push
  • [RN] react-native 키보드 가림현상 - iOS
  • [RN] react-native Linking 전화걸기, 문자, 메일보내기
  • [RN] react-native ScrollView
nicee
nicee
답을 찾아가는 과정이 즐거운 프론트엔드 개발자의 기록
    반응형
  • nicee
    나의 개발일지
    nicee
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Project01 [Chat App]
      • React Native
      • Git
      • Program Setting
      • nicee-day
      • Study
        • C++
  • 블로그 메뉴

    • 링크

      • 🌳 git키우기
      • 📚 일상기록
    • 공지사항

    • 인기 글

    • 태그

      typescript
      에러해결
      직장인짤
      Android
      타입스크립트
      APP
      React-native
      c++
      빌드에러
      리액트네이티브
      앱개발
      리액트
      커피수혈
      firebase
      불금
      rn
      k직장인
      IOS
      nextjs
      error
      오블완
      Xcode
      티스토리챌린지
      공부
      React
      채팅앱
      app build
      k직장인일상
      백준코딩테스트
      next.js
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    nicee
    [RN] react-native useRef 사용방법
    상단으로

    티스토리툴바