页面的所有元素都是视图(Views)。
React Native 封装原生组件,提供基本的视图。
主要有<View>``<Text>``<Image>``<ScrollView>``<TextInput>;
更多组件见组件文档 (opens new window)。
Platform Platform.OS === 'ios'Platform.Version === 25 / IOS parseInt(Platform.Version, 10)BigButton.ios.jsBigButton.android.jsBigButton.native.js web端不会使用编译react基本环境
观察文件变化
IOS 开发环境
react native 的 iOS 版本需要使用 CocoaPods 来管理依赖
$ sudo gem install cocoapods / $ brew install cocoapodsjava 开发环境(React Native 需要 Java Development Kit [JDK] 1.8)
$ brew install adoptopenjdk/openjdk/adoptopenjdk8Android 开发环境
$ adb devices查看有效设备$ adb reverse tcp:8081 tcp:8081$ npx react-native init AwesomeProject 初始化一项项目$ yarn react-native run-ios 编译并运行ios
Metro做实时打包$ node node_modules/react-native/local-cli/cli.js start单独运行$ yarn react-native run-android 编译并运行android
http://localhost:8081/debugger-ui 调试 js 代码Command⌘ + M / $ adb shell input keyevent 82 唤出设备的开发菜单chrome://inspect/#devices 调试嵌入的 web$ npx react-native log-android 查看日志$ adb logcat > a.log 捕获设备日志并写入文件Command⌘ + D 唤出设备的开发菜单Develop/开发 → Simulator/模拟器 → JSContext$ npx react-native log-ios 查看日志Debug → Open System Log... 查看日志$ npm install -g react-devtools$ react-devtoolsInspector,同步选择的视图节点http://localhost:8081/debugger-ui 站点的 console 域切换为 debuggerWorker,同步日志metro-symbolicate 根据 source map 翻译生产包日志
$ npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map < stacktrace.txt$ adb logcat -d | npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map热更新可以使你绕过 AppStore 的审核机制,直接修改已经上架的应用。
$ adb devices 查看有效设备$ adb logcat > a.log 捕获设备日志并写入文件