在EXPO项目中导入字体有什么问题

时间:2020-11-11 08:42:58

标签: expo

我尝试将Montserrat用作字体,但是遇到错误:与上次渲染相比,渲染了更多的钩子。 这是我的代码:

import React from 'react';
import {
  StyleSheet, Text, View, SafeAreaView, TouchableOpacity, TextInput
} from 'react-native';

import { Feather } from '@expo/vector-icons';
import { useFonts } from 'expo-font';

export default function App() {

  const [loaded] = useFonts({
    Montserrat: require('./assets/Montserrat-Regular.ttf'),
  });

  if (!loaded) return null;
  
  return(
<Text style={{fontSize: 30, fontFamily: "Montserrat"}}>Hello</Text>
  );
}

请帮助我修复它。或者,如果您知道另一种使用字体的方法,请告诉我们

2 个答案:

答案 0 :(得分:0)

您可以使用expo-fonts。从那里开始,我建议您制作一个自定义文本组件,以在需要文本时使用。

import { useFonts } from 'expo-fonts';

function MyText() {
 const [loaded] = useFonts({
    Montserrat: require('./assets/fonts/Montserrat.ttf'),
  });

  if (loaded) {
    return <Text style={{ fontFamily: 'Montserrat' }} />;
  }
  return null;
}

答案 1 :(得分:0)

使用以下代码段并在Assets中添加字体。您还可以加载图像

// TODO Auto-generated method stub