안녕하세요!
custom font 써보다가 궁금한 점이 생겨서 질문 드려요 
expo 문서에서 custon font 사용 예제는 폰트 파일 불러왔는지 체크하기 위해 componentDidMount() 메서드를 사용했는데,
create-react-native-app으로 tab 템플릿 선택해서 프로젝트 만들면 lifecycle 없이 <AppLoading />이랑 state 활용해서 로드 완료 되었는지 확인하는 방식을 쓰더라고요.
(리덕스 사용하는 방법도 있었어요 Using Custom Fonts in Expo : The Best Way)
export default class App extends React.Component {
state = {
isLoadingComplete: false
}
render() {
if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) {
return (
<AppLoading
startAsync={this._loadResourcesAsync}
onError={this._handleLoadingError}
onFinish={this._handleFinishLoading}
/>
)
} else {
return (
<View style={styles.container}>
<Image source={Images.partyJpeg} // 리소스 준비 되면 보여주기
style={{width: '10%', height: '10%', backgroundColor: '#fff'}}
// ...
(코드 전체)
lifecycle 언제 쓰는지를 찾아보면 성능 향상을 위해 쓴다고 본 것 같은데, 실제로 써본 적이 없어서 이런 경우에는 어떻게 리소스 로딩 상태를 관리(?)를 하는게 좋을지 궁금해요.
또 <AppLoading /> 문서에 보면 _cacheResourcesAsync라고 메서드를 구현했는데 프로젝트에 assets로 넣은 리소스도 해당이 되는 걸까요? 아니면 url로 불러오는 리소스만 캐시로 저장되는지도 여쭤보아요 ㅎㅎ
코드종 Youtube 채널 바로가기
그 이유는 앱을 만들다 보면 대부분 3rd party native 모듈을 사용하거나 직접 customzing한 native 모듈을 사용해아하는 경우가 발생하기 때문입니다.
