React native 使用async componentDidMount()响应本机导入字体预期=>;

React native 使用async componentDidMount()响应本机导入字体预期=>;,react-native,fonts,expo,React Native,Fonts,Expo,我正在尝试为项目标题导入字体,并加载如下字体: import * as Font from 'expo-font' const Home = () => { return( this.state = { fontLoaded: false } async componentDidMount(){ await Font.loadAsync({ 'Pacifico': require('../assets/pacifico/Pacifico.

我正在尝试为项目标题导入字体,并加载如下字体:

import * as Font from 'expo-font'


const Home = () => {

return(
this.state = {
    fontLoaded: false
  }
   async componentDidMount(){
      await Font.loadAsync({
        'Pacifico': require('../assets/pacifico/Pacifico.ttf'),
      }).then(() => {
      this.setState({fontLoaded: true})
    })

<View style={{marginTop:30, alignItems:'center'}}>
    {this.state.fontLoaded ? (<Text>Loading...</Text>): (
    <Text style={{fontSize:40, fontFamily:'Pacifico'}}>Book Lover</Text>
    )}
    </View>
)}
import*作为字体从“expo字体”导入
常量Home=()=>{
返回(
此.state={
错误:错误
}
异步组件didmount(){
等待Font.loadAsync({
“Pacifico”:要求(“../assets/Pacifico/Pacifico.ttf”),
}).然后(()=>{
this.setState({fontLoaded:true})
})
{this.state.fontload?(正在加载…):(
书迷
)}
)}
然而,当我编译项目时,我得到一个错误
意外标记,应为“=>”
,它指向
异步组件didmount(){


有什么我可以解决的吗?

如果您想使用带有挂钩的功能组件,请尝试以下操作:

添加到导入:

 import { useState, useEffect } from 'react';

const Home = () => {

  const [fontLoaded, setFontLoaded] = useState(false);
  useEffect(async() => {
   await Font.loadAsync({
       Pacifico: require('../assets/pacifico/Pacifico.ttf'),
    });
    setFontLoaded(true);
  }, []);

  return (
    <View style={{ marginTop: 30, alignItems: 'center' }}>
      {!fontLoaded ? (
        <Text>Loading...</Text>
      ) : (
        <Text style={{ fontSize: 40, fontFamily: 'Pacifico' }}>Book Lover</Text>
      )}
    </View>
  );
};
const Home=()=>{
常量[fontLoaded,setFontLoaded]=useState(false);
useEffect(异步()=>{
等待Font.loadAsync({
Pacifico:require(“../assets/Pacifico/Pacifico.ttf”),
});
setFontLoaded(真);
}, []);
返回(
{!是吗(
加载。。。
) : (
书迷
)}
);
};

请查看以下答案中的世博快餐示例: