Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보처리기사
- 프리랜서 견적서
- nextjs 시작
- react eslint
- 금액안내서 양식
- 리네renderIndicator
- react-native-fast-image
- react plugin setting
- 프리랜서 금액안내서
- react typescript eslint prettier
- 이미지랜더링
- nextjs 설치
- 금액안내서
- 리네 안드로이드 뒤로가기
- nextjs 설치하기
- 리네 안드로이드
- 리네이미지랜더링
- react prettier setting
- css 초기세팅
- 프리랜서 양식
- 재공학
- 안드로이드뒤로가기
- 목표정하기
- 리네 뒤로가기
- react-native-image-progress
- eslint setting
- css 초기화하기
- react typescript eslint
- 정보처리기사 2024
- 리네이미지
Archives
- Today
- Total
hello! Mingure
[React Native] useIsFocused 란 무엇인가 본문
공식 문서에서는 useIsFocused를 이렇게 소개하고 있다.
화면의 포커스 상태에 따라 다른 콘텐츠를 랜더링 하고 싶을 때, useIsFocused Hook 을 사용한다. 이 훅을 사용하면, 초점이 변경될 때 화면에 대한 리랜더링을 시키는 트리거가 된다.
공식문서만 봐서는 사실 이게 무슨말인지 정확하게 이해하는데 시간이 좀 걸렸다. 공식문서를 바탕으로 이 내용을 간단하게 생각해보자.
우선, 이 useIsFocused 가 사용된 screen 에서 이 값은 항상 true 이다.
import { useIsFocused } from '@react-navigation/native';
function Profile() {
const isFocused = useIsFocused();
return <Text>{isFocused ? 'focused' : 'unfocused'}</Text>;
}
A Screen 에서 B Screen으로 이동할 때, 그리고 B screen에서 다시 A Screen으로 돌아오는 useIsFocused의 값 변화를 따져보자.
위 이미지에서 화면이 mount, unmount 되는 순서는 react native navigation lifecycle에 대해서 더 공부하면 좋을 것 같다.
https://reactnavigation.org/docs/navigation-lifecycle/
아무튼, useIsFocused 공식문서에서 말하는 대로, 내가 킨 화면의 isFocused 값이 true 혹은 false 로 나타내 주니, 이 값을 trigger로 이용해서 useEffect를 이용하여 해당 스크린에 이벤트를 리랜더링 시키면 되는 것이다.
'React Native' 카테고리의 다른 글
[React Native] Android에서 이미지 화질 깨짐 (0) | 2023.07.04 |
---|---|
[React Native / React / Javascript] 라디오버튼처럼 만들기 (0) | 2023.05.02 |
[React Native] react-native 안드로이드 뒤로가기 BackHandler (0) | 2022.12.28 |
[React Native] react-native-splash-screen 사용법 (0) | 2022.12.22 |
[React Native] react-native-image-progress 사용하기 (0) | 2022.12.22 |