嗨,我是 React Native 的新手。 无论如何,我的问题是我正在尝试更改文本的字体,并希望确保在字体加载后,我才希望加载屏幕结束。
但是,我收到此错误:
<块引用>错误:App(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null。
<块引用>此错误位于: 在应用程序中(由 ExpoRoot 创建) 在 ExpoRoot(在 renderApplication.js:45) 在 RCTView 中(在 View.js:34) 在视图中(在 AppContainer.js:106) 在 DevAppContainer 中(在 AppContainer.js:121) 在 RCTView 中(在 View.js:34) 在视图中(在 AppContainer.js:132) 在 AppContainer 中(在 renderApplication.js:39)
这是我的 App.js
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { render } from 'react-dom';
import { Button, StyleSheet, Text, View } from 'react-native';
import AppNavigator from './src/navigation/Navigator';
import * as Font from 'expo-font';
import {AppLoading} from 'expo-app-loading';
export default class App extends React.Component {
state = {
isFontLoaded : false
}
async componentDidMount(){
await Font.loadAsync({
"SemiBold" : require('./src/fonts/Montserrat-Regular.ttf'),
"Medium" : require('./src/fonts/Montserrat-Medium.ttf'),
"Regular" : require('./src/fonts/Montserrat-Regular.ttf')
});
this.setState({isFontLoaded:true})
}
render(){
return (
(this.state.isFontLoaded === true) ? (<AppNavigator/>):(AppLoading)
// AppLoading
);
}
}
如果您还有什么需要,请告诉我。
提前致谢。
答案 0 :(得分:1)
通过如下方式导入
import AppLoading from 'expo-app-loading'; // this way
render(){
if(!this.state.isFontLoaded){
return <AppLoading />
}
return <AppNavigator />
}