개발관련
useFonts()
splitor
2024. 4. 4. 09:37
React Native 애플리케이션에서 사용되는 useFonts() 을 통해 폰트를 로드하는 예시를 보겠습니다. 기본 템플릿을 설치하면 다음의 코드를 app>_layout.tsx>RootLayout() 에서 볼 수 있습니다.
import { useFonts } from 'expo-font';
const [loaded, error] = useFonts({
SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'),
...FontAwesome.font,
});
useEffect(() => {
if (error) throw error;
}, [error]);
useEffect(() => {
if (loaded) {
SplashScreen.hideAsync();
}
}, [loaded]);
if (!loaded) {
return null;
}
- useFonts 훅을 사용하여 폰트를 로드합니다.
- SpaceMono 폰트는 로컬 파일 시스템에 있는 SpaceMono-Regular.ttf 폰트 파일을 로드합니다. 해당 파일은 앱의 assets/fonts 폴더에 있어야 합니다.
- FontAwesome.font는 Expo의 expo-font 라이브러리에서 가져온 FontAwesome 폰트 설정입니다. 이 설정은 Expo가 기본적으로 포함하는 FontAwesome 아이콘을 사용할 수 있도록 합니다.
- useFonts 훅은 두 가지 값을 반환합니다:
- loaded: 폰트 로드가 완료되면 true로 설정됩니다.
- error: 폰트 로드 중 발생한 에러가 있다면 해당 에러 객체를 포함하고, 그렇지 않으면 undefined입니다.