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(真);
}, []);
返回(
{!是吗(
加载。。。
) : (
书迷
)}
);
};
请查看以下答案中的世博快餐示例: