当应用程序在应用程序模拟器中运行时,如何使用React Native调试其React代码?
我正在尝试在我的Nexus5(Android 5.1.1)上运行AwesomeProject.
我能够构建项目并将其安装在设备上.但是当我运行它时,我得到一个红色屏幕说
无法下载JS包.您是否忘记启动开发服务器或连接设备?
在本机iOS中,我可以选择离线加载jsbundle.我怎么能为Android做同样的事情?(或者至少,我在哪里可以配置服务器地址?)
react-native start > /dev/null 2>&1 &adb reverse tcp:8081 tcp:8081请查看dsissitka的答案了解更多详情.
android/app/src/maincurl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"请查看kzzzf的答案以获取更多详细信息.
我在React Native世界中仍然是新手,并且通常也在移动/本地世界,我发现文档在数据持久性方面有点缺乏.
我在React Native中存储数据的选项有哪些?每种类型的含义是什么?例如,我看到有本地存储和异步存储,但后来我也看到像Realm这样的东西,我很困惑所有这些都适用于外部数据库.
我特别想知道:
谢谢你的帮助!
我正在开发一个跨平台的React Native移动应用程序.我在开发时正在编写console.log语句.我想在默认的Android模拟器中运行Android应用时在Chrome中看到这些日志记录语句.根据Facebook的文档,我只需要"摇动设备".我如何在Android模拟器中执行此操作?
要访问应用内开发者菜单:
在iOS上摇动设备或在模拟器中按控制键+⌘+ z.在Android上摇动设备或按下硬件菜单按钮(在旧版>设备和大多数模拟器中可用,例如在genymotion中,您可以按⌘+ m以>模拟硬件菜单按钮单击)
我已经阅读了几个flexbox教程,但我仍然无法使这个简单的任务工作.
如何将红色框设为100%宽度?
码:
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Natives
</Text>
<Text style={styles.line1}>
line1
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu
</Text>
</View>
Run Code Online (Sandbox Code Playgroud)
样式:
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
borderWidth: 1,
flexDirection: 'column',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
borderWidth: 1,
},
line1: {
backgroundColor: '#FDD7E4',
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
borderWidth: 1,
},
Run Code Online (Sandbox Code Playgroud)
谢谢!
更新1: Nishanth Shankar的建议,为包装器添加flex:1,flexDirection:'row'
输出:
码:
<View …Run Code Online (Sandbox Code Playgroud) 我已经构建了我的应用程序,我可以在我的本地模拟器上运行它(也可以通过更改调试服务器在同一网络中的我的Android设备上运行).
但是,我想构建一个apk,我可以发送给没有访问开发服务器的人,我希望他们能够测试应用程序.
我看到在文档的iOS部分有一个使用脱机捆绑的部分.但我无法弄清楚如何为Android做同样的事情.这可能吗?如果是这样,怎么样?
更新:关于这个问题的答案(反应原生android无法加载JS包),据说离线包可以从开发服务器下载.但是当我从开发服务器获取捆绑包时,无法加载图像文件.
如何在水平和垂直中将ReactNative中的文本居中?
我在rnplay.org中有一个示例应用程序,其中justifyContent ="center"和alignItems ="center"不起作用:https: //rnplay.org/apps/AoxNKQ
文本应该居中.为什么文本(黄色)和父容器之间的顶部有一个边距?
码:
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
Image,
View,
} = React;
var SampleApp = React.createClass({
render: function() {
return (
<View style={styles.container}>
<View style={styles.topBox}>
<Text style={styles.headline}>lorem ipsum{'\n'}ipsum lorem lorem</Text>
</View>
<View style={styles.otherContainer}>
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'column',
backgroundColor: 'red',
justifyContent: 'center',
alignItems: 'center',
},
topBox: {
flex: 1,
flexDirection: 'row',
backgroundColor: 'lightgray', …Run Code Online (Sandbox Code Playgroud) 在初始化新项目然后启动x-code模拟器时获取以下消息."React-Native Version Mismatch"Javascript版本0.50.1原生版本:0.50.0
确保您已重建本机代码...
有谁知道这里发生了什么,可以帮助我吗?
谢谢!
我在Mac上使用React-Native,Android和Genymotion.当我运行时,react-native run-android我在启动操作结束时得到这些行:
...
04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use
04:54:40 E/adb: ADB server didn't ACK
04:54:40 E/ddms: '/Users/paulbrie/Library/Android/sdk/platform-tools/adb,start-server' failed -- run manually if necessary
04:54:40 E/adb: * failed to start daemon *
04:54:40 E/adb: error: cannot connect to daemon
:app:installDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: Timeout getting device list.
...
Run Code Online (Sandbox Code Playgroud)
但是,adb devices返回此信息:
List of devices attached
192.168.59.101:5555 …Run Code Online (Sandbox Code Playgroud) react-native ×10
android ×6
ios ×3
flexbox ×2
reactjs ×2
debugging ×1
genymotion ×1
javascript ×1