javascript - 我正在返回渲染,但问题仍然存在
问题描述
嗨,我对 React Native 比较陌生。无论如何,我的问题是我正在尝试更改文本的字体,并希望确保在字体加载后,我才希望加载屏幕结束。
但是,我收到此错误:
错误:应用程序(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null。
此错误位于:在 App(由 ExpoRoot 创建)中 ExpoRoot(在 renderApplication.js:45)中 RCTView(在 View.js:34)中在 View(在 AppContainer.js:106)中在 DevAppContainer(在 AppContainer.js :121) 在 RCTView (在 View.js:34) 在 View (在 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
);
}
}
如果您还有其他需要,请告诉我。
提前致谢。
解决方案
通过以下方式导入,例如
import AppLoading from 'expo-app-loading'; // this way
render(){
if(!this.state.isFontLoaded){
return <AppLoading />
}
return <AppNavigator />
}
推荐阅读
- mysql - 如何使用 MySQL python 连接器修复批量加载
- php - FCM 链接在桌面通知中不起作用
- python - 使用 for 循环的 Python 切片行为
- reactjs - 如何使用 jsconfig 文件复制 NODE_PATH env var 的效果
- python - 有 2 个独立的无限循环
- javascript - 我无法使用我的函数更改或更新变量
- android - 如何修复 build.gradle?
- node.js - 了解 TypeScript BotFramework 和 Emulator 之间的 HTTP 聊天
- javascript - 如何使用格式为 mm/dd/yyyy 的 Moment 添加天数
- python - 提高多标签文本分类的准确性