`

[React Native]开发记录

 
阅读更多
  • 原生RN混编:
ios:
根据教程:https://reactnative.cn/docs/0.45/integration-with-existing-apps.html#content
所有的步骤都正确,但是最后在ios的项目内不知道什么原因是import不了React的.
现在采取的办法只能是利用react-native自动生成的项目内的ios原生项目(OC)基础上改,因为该项目是OC的,如果用swift需要桥接即可.
需要:
1.如果用swift,则需要用bridge,里面写入#import <React/RCTRootView.h>
然后controller里面直接调用即可:
var root:RCTRootView?
 
2.把xcodeproj里的Main Interface改为你的(新建)Main.storyboad
3.info.plist添加:Main storyboard file base name: Main
这样混编的环境才完整.

  • VScode修改代码提示快捷键:

打开Preference->Keyboard shortcut-->Trigger suggest(触发建议),可以修改为option+/

 

  • 修改app的进入js:

在index.js,修改

import App from './你想进入的js名称';

 也可以写成:

require('./js/你想进入的js')

 无论import或require,都需要入口页面export出去,有三种方式:

一.类前加export前缀.

二.代码最后加:export default classXX

三.module.exports={classXX}

 

  • 路径问题

如果是二级目录,那么在该目录下的页面import进来同级页面,只需要'./xxx'即可

如果想要去上一级或者其他级别目录,则先'../'跳出去

 

  • 格式化代码:
安装beautify插件: Mac: Shift + Option + F

  • ES6(ES2015):

介绍书籍:http://es6.ruanyifeng.com/#docs/intro

 

  •  使用真机调试:
参考:https://reactnative.cn/docs/0.51/running-on-device-ios.html
首先,在xcode xcodeproj内删掉tv-os,tv-os tests的TARGETS,配置好证书签名.
1.混编,从ios跳转RN:首先需要确保设备已使用usb连接至电脑,同时和电脑处在同一wifi网络内,然后将其中的"localhost"改为你的电脑的IP地址
2.纯RN,IOS真机打开:会报错:
Module AppRegistry is not registered callable module (calling runApplication)
奇怪的是模拟器并不会报错,但是真机会报这个,查资料,显示是组件注册问题.除了index.js那里要注册,在组件内也要注册多次.
参考:https://stackoverflow.com/questions/43604603/module-appregistry-is-not-registered-callable-module-calling-runapplication

 

  • 执行官网的代码:
官网教程:https://reactnavigation.org/docs/en/tab-based-navigation.html
执行官网例子'Run this code':使用在线的模拟器需要等,可以下载EXPO app(ios&Android),android在Google play,ios app store下载非常慢.Android下载完成后可以通过扫描二维码来把官网的例子运行在本地真机上.非常方便
  • 组件依赖问题
package.json类似gradle,里面写依赖。
如果增减依赖,需要重启node server才生效。
如果有依赖问题最终解决不了,可以使用整个node-modules删掉,然后重新运行npm install
  • VScode import大坑
注意,改了类名后,VScode会提示是否要auto import这个时候不要选是,因为IDE会把所有js下正常的react-native引用都改了路径,导致报错,要一一改回来.
分享到:
评论

相关推荐

    快速搭建ReactNative项目的一个starter

    React Native 是一个由Facebook开发的开源框架,它允许开发者使用JavaScript和React来构建原生的移动应用程序。这个“快速搭建React Native项目的一个starter”提供了一个基础的项目模板,旨在帮助开发者快速启动...

    师傅平台reactnative案例

    标题 "师傅平台reactnative案例" 描述了一个使用React Native技术构建的移动应用项目,这是一个针对新手的学习资源,完成度高达90%。这个项目可能是为了帮助开发者熟悉如何使用React Native来开发手机应用。React ...

    Android-基于react-native百度地图开发的记录运动轨迹的app

    本项目“Android-基于react-native百度地图开发的记录运动轨迹的app”就是一个很好的示例,它展示了如何利用React Native与百度地图API集成,创建一个能够记录用户运动轨迹的应用。 React Native是Facebook推出的一...

    reactnative异常处理库

    React Native 异常处理库是专门为在React Native框架下开发的混合移动应用提供错误管理和调试支持的工具。React Native允许开发者使用JavaScript编写原生移动应用,但JavaScript代码的运行环境中可能会遇到各种错误...

    采用reactnative开发的一个干货客户端

    《采用React Native开发的干货客户端详解》 React Native,由Facebook推出,是一种基于JavaScript的开源框架,用于构建原生移动应用程序。它允许开发者使用JavaScript和React来开发iOS和Android应用,实现了“Write...

    一个基于reactnative开发的完整项目示例

    这个“一个基于React Native开发的完整项目示例”旨在为开发者提供一个实战参考,帮助他们理解和掌握React Native的开发流程。 在React Native中,核心概念包括组件化、虚拟DOM以及样式处理。组件是React Native的...

    用于ReactNative应用网络调试的工具logger

    总的来说,"logger"工具是React Native开发中的得力助手,它增强了网络调试的能力,让开发者能够更好地理解和控制应用的网络行为。通过深入理解并有效利用此类工具,开发者可以提升开发效率,优化应用性能,同时也能...

    使用react-native新版本(0.71)快速开发APP项目详细介绍(ts+zustand+react-navigation

    在本项目中,我们使用了React Native的最新版本0.71进行移动应用的快速开发。React Native是一个开源框架,允许开发者使用JavaScript和React来构建原生移动应用程序,它极大地提高了开发效率,使得Web开发者可以跨...

    react-native-webview.zip

    5. **错误调试**:使用React Native的开发者工具或者日志记录,可以帮助定位和解决问题。 总的来说,React Native WebView是一个强大且灵活的工具,它扩展了React Native的功能,使得开发者可以充分利用Web技术为...

    使用ReactNative一步一步创建自己的聊天应用程序的教程

    在本教程中,我们将深入探讨如何使用React Native构建一个简单的聊天...在`react-native-chat-tutorial-master`这个项目中,你可能会找到更具体的代码实现和详细步骤,这将帮助你更好地理解和实践React Native开发。

    ReactNative的顶部导航条具有超轻简单可自定义的特点

    React Native的顶部导航条是构建跨平台移动应用的重要组件,尤其在JavaScript开发的混合移动应用领域,它扮演着至关重要的角色。React Native充分利用了JavaScript的灵活性和React的组件化思想,使得开发者能够轻松...

    react-ReazyFramework一个简单基于服务用于React和ReactNative的框架

    **React与React Native** React是由Facebook开发的JavaScript库,用于构建用户界面,特别是单页应用程序。...对于想要快速入门React和React Native开发的团队来说,Reazy Framework是一个值得考虑的选择。

    react-native-chat-demo-master.zip_DEMO_React_react native_react

    综上所述,"react-native-chat-demo-master.zip"提供了一个学习React Native开发聊天应用的良好起点。通过深入研究和实践,开发者不仅可以掌握React Native的基本用法,还能了解到实时通信、数据管理和UI设计等核心...

    react native android 命令打包

    随着移动开发技术的不断发展,React Native 成为了跨平台应用开发的重要工具之一。对于Android平台的应用发布来说,正确掌握React Native项目的打包流程至关重要。本文将详细介绍如何使用React Native命令行工具对...

    基于reactnative的脚手架在官方初始化项目的基础上

    React Native 是一个由Facebook开发的开源框架,它允许开发者使用JavaScript和React来构建原生移动应用程序。本项目基于React Native的官方初始化项目,为开发者提供了一个起点,帮助他们快速搭建和配置React Native...

    使用reactnative实现的一个FacebookMessenger

    总之,"使用React Native实现的一个Facebook Messenger"项目涵盖了移动开发的多个方面,包括前端设计、网络通信、状态管理、原生功能集成以及测试和部署。通过这个项目,开发者不仅能深入理解React Native的特性,还...

    react native source

    14. 命令行指令的介绍,包括检查已安装版本、初始化React Native项目、升级现有项目到最新版本、添加Android项目和日志记录等。 15. HTTP请求的处理,包括使用fetch API进行HTTP调用,以及如何在React Native应用中...

    [个人实战]React Native项目中Navigation的使用

    在React Native开发中,导航(Navigation)是应用中不可或缺的一部分,它允许用户在不同的视图之间切换。本实战教程将详细介绍如何在React Native项目中使用Navigation。参考文档来源于...

    react native 模仿鲨鱼笔记

    React Native 是一个由Facebook开发的开源框架,它允许开发者使用JavaScript和React的语法来构建原生的移动应用程序。在这个“React Native模仿鲨鱼笔记”的项目中,开发者试图使用这个技术来复刻一款名为“鲨鱼记账...

    ReactNative的原生视频编辑修剪压缩库

    ReactNative的原生视频编辑修剪压缩库是一种将JavaScript与原生平台能力相结合的解决方案,用于在React Native应用程序中实现视频编辑、修剪和压缩功能。React Native是一个由Facebook开发的开源框架,它允许开发者...

Global site tag (gtag.js) - Google Analytics