android - React Native - 一个全新的应用程序只显示黑屏。如何调试?
问题描述
我开始探索使用 React Native 构建移动应用程序并运行,即使在阅读了许多教程之后,也会遇到重复的问题。
我通过命令生成了一个新应用程序react-native init MyApp
- 我注意到App.js
文件中包含以下样式定义:
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
但是,如果我决定只使用
export default class App extends Component {
render() {
return (
<View>
<Header />
</View>
);
}
}
我只在模拟器中返回黑屏 - 要“看到”某些东西,我需要添加样式定义,如:
<View style={styles.container}>
<Header />
</View>
如何避免总是为 指定样式定义<View>
?屏幕背景是黑色的默认设置还是我忽略了什么?
到目前为止 - 开发相当混乱和困难,我基本上花了整个下午重新启动 iOS 应用程序(热重新加载并不总是有效)以查看应用程序中的新代码更改,而不是构建一些新功能。
我是否在做一些根本错误的事情(比如使用错误的开发工具)?
解决方案
如果您查看,AppDelegate.m
您会看到 rootView 的颜色设置如下
rootView.backgroundColor = [UIColor blackColor];
这会将默认颜色设置为黑色,您可以将其更改为您想要的任何颜色。
但是它不会影响您在 Android 上执行的任何操作,因此最好在视图中设置您的 backgroundColor。
推荐阅读
- java - SecureRandom.ints() 安全吗?
- python - 名称错误未为类定义全局名称“类名”
- stripe-payments - 有用于下载收据的 Stripe API 吗?
- excel - 突出显示包含扩展列表中单词的单元格
- mysql - 如何从已截断的 Mysql 5.6 分区中清除数据?
- sap-cloud-sdk - 如何在 SCP multitanant 应用程序中获取订阅者的目的地
- vue.js - 使用 Koa 启动重定向后的 CORS 问题
- graph - 如何将二叉搜索树转换为列表
- javascript - 在下一页的控制台中展开 JavaScript 对象
- android - 如何从卡片视图中删除自定义卡片