我的字体有问题,我无法修复错误“fontFamily "FredokaOne_400Regular" 不是系统字体并且尚未通过 Font.loadAsync 加载。”
我已经尝试了几种堆栈溢出的方法,我通常会很好地异步声明我的书写字体并遵循文档但没有成功。
我不知道这是否与 Firebase 与用户的连接或动画启动画面有冲突
这就是我告诉我的程序我需要一种字体的方式:
constructor(props) {
super(props);
this.state = {
loaded: false,
}
this.states = {
fontLoaded: false
}
}
async getFonts() {
await Font.loadAsync({
'FredokaOne_400Regular': require('./assets/fonts/FredokaOne-Regular.ttf')
}).then(() => {
this.setState({ fontLoaded: true });
});
}
async componentDidMount() {
this.getFonts()
}
然后我有第二个功能,用于安装与用户与 Firebase 的连接相关的屏幕
componentDidMount() {
firebase.auth().onAuthStateChanged((user) => {
if (!user) {
this.setState({
loggedIn: false,
loaded: true,
})
} else {
this.setState({
loggedIn: true,
loaded: true,
})
}
})
}
然后我像这样显示我的登录页面
render() {
const { loggedIn, loaded, fontLoaded} = this.state;
if (!loggedIn) {
return (
<AnimatedSplash
translucent={true}
isLoaded={loaded}
logoImage={require("./assets/images/logo.png")}
backgroundColor={"#ffff"}
logoHeight={150}
logoWidth={150}
>
<NavigationContainer >
...
我尝试在几个地方声明字体初始化,但它总是导致一个问题:要么启动画面保持冻结,我们无法访问登录页面,要么显示了登录页面但仍然显示错误。
但是字体显示正确