新公司也打算做rn,还是得捡起来再度学习.开撸! react native一个版本一个样子,之前写的rn与iOS交互系列在最新版本中有点出入(0.50.4版本).今天填一下坑. 首先上npm版本,react native版本,cocoapod版本: 首先在Podfile中导入的库有点区别,最新的是这样的: platform :ios, "8.0" use_frameworks! target "FF-RN" do # 取决于你的工程如何组织,你的node_modul…
React Native在2017年经历了众多版本的迭代,从接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能和性能的缺失,但是不可否认的是React Native确实在进步. 本文主要从以下几个方面来对React Native0.50+进行讲解: 在兼容性方面新增了对Android8.0.iPhone X的支持: 在API方面为TimePicker添加了打开方式的API,另外允许在构建Android项目的时候…
将RN集成到现有OC项目应该是最常见的,特别是已经有OC项目的,不太可能会去专门搞个纯RN的项目.又因为RN不同版本,引用的依赖可能不尽相同,所以特别说明下,本文参考的文档是React Native (0.57)相关文档. 一.准备工作 本文演示项目基于如下版本: "react": "16.5.0", "react-native": "0.57.1" 1.RN搭建开发环境 如果你已经创建过RN项目,并且运行成功了,那么你的环境…
当前(2017年5月22日 )React Native开发相当火爆,但是搜索下来,没有最新版本0.44集成的教程,因此尝试了一下如何集成到Android原生工程中去.本篇旨在记录出现的问题以及应对方式. 一.集成的过程比较简单,按照教程一步一步来即可: 中文版教程:http://reactnative.cn/docs/0.44/integration-with-existing-apps.html#content 英文版教程:http://facebook.github.io/react-nat…
react native的0.56.0版本在windows下有bug不能正常运行请init 0.55.4的版本 react-native init MyApp --version 0.55.4 注意version前是两个杠…
当使用react-native init myApp初始化项目时,出现以下错误 出现以上错误的原因是因为0.56.1版本初始化项目就有问题,请见 https://github.com/facebook/react-native/issues/20331 解决办法是使用react native初始化时,指定版本即可 react-native init myApp --version ………
1. 什么是React Native? React Native是Facebook在React.js Conf 2015大会上推出的一个用于开发Android t iOS App的一个框架.主要编程语言是Javascript,UI使用JSX(一种语法类似于XML的UI描述语言),它使用虚拟DOM(Virtual DOM),对DOM的修改完全在内存中完成,增量修改DOM树,运行效率非常高.   2. React Native和React.js有什么异同 相同:都是使用JSX和Javascript,…
//// Copyright 2012 Square Inc.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/L…
前言 你需要做两件事 gem换源 pod repo 换源 实战 如果你已经成功安装了CocoaPods.那么这里你需要卸载它.gem换源1. 卸载CocoaPods 查看gem安装的东西 gem list 下面一般就是gem安装的一些依赖. *** LOCAL GEMS ***activesupport (4.2.11.1)atomos (0.1.3)bigdecimal (1.2.8)CFPropertyList (3.0.1, 2.2.8)claide (1.0.3)cocoapods (1…
今天在集成react-native-sqlite-storage组件CocoaPods的时候遇到以下错误,这里记录一下错误解决方法: 报错如下: 以为是我Cocoapods的版本问题,于是更新版本: sudo gem install cocoapods --pre 再运行,依旧报错. 赶紧stackoverflow搜索问题: https://stackoverflow.com/questions/43841600/pod-installation-failed-with-react-native…
由于一些原因,笔者最近变更到了RN的团队,回归到了hybrid app的开发的圈子中,固然是有蛮多新鲜感和新机遇的,不过遥想起以前在hybrid中各种view之前跳转的头疼等各种问题,笔者怀着忐忑的心情开始了一段波折的hybrid之旅.其实大概的结果之前的文章也有提及了,不过由于大部分只是以“记笔记”的形式描述的,所以难得想抽个时间,好好的总结一下,自己的心路历程. 众所周知,传统的webapp由于只能发挥native80%不到的机能,在性能和能力上一直为人所诟病,而传统的native app又…
React Native is an Objective-C application framework that bridges JavaScript applications running in the JSCore JavaScript engine to iOS and Android native APIs. In theory, you write your application logic in JSX and ES6/7 and transpile it to JavaScr…
在Android,iOS,Web和跨平台框架的横向对比中,React Native本身是一个相对较新且快速开发移动的平台.两年后,我们可以肯定地说React Native在很多方面都是革命性的.这是移动设备的范例转变,我们能够从中受益很多.然而也有明显的痛点,它的优点不仅仅是这些 优点 跨平台React Native的主要好处是,您编写的代码可以在Android和iOS上本机运行.使用React Native的大多数功能都能够实现95-100%的共享代码,0.2%的文件是特定于平台的(andro…
前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有时候三者的配置文件又互相耦合在一起,往往牵一发而动全身. 本文假定 React Native 升级的主导者是前端同学,比较熟悉 javaScript 为主的一套前端构建流程.如果有条件,升级时强烈建议拉上 iOS 和 Android 开发,对于一些琐碎的升级细节,当面沟通远比搜索引擎高效. " 提示…
随着项目也渐渐到了尾声,之前的项目是mobile开发,采用的是React Native.为即将要开始做RN项目或者已经做过的小伙伴可以参考借鉴,也顺便自己做一下之前项目的总结. 文章比较长,可以选择自己感兴趣的章节了解下. 项目整体技术栈: React Native React Navigation Firebase Jotai(项目后期加入) Typescript Jest 1. 配置项目绝对路径 一般的项目都会有一个源代码目录src ,并且随着项目的膨胀,会出现越来越多的子目录,这时候如果不…
(一).资讯 1.React Native 0.21版本发布,最新版本功能特点,修复的Bug可以看一下已翻译 重要:如果升级 Android 项目到这个版本一定要读! 我们简化了 Android 应用构建方式,Android 库现在通过 npm 和框架一起分发(不是 Maven).这意味着您需要运行 react-native upgrade 来升级您的 Android build(.gradle) 文件.这是一次性的修改. (二).技术文章 1.React Native API模块BackAnd…
转载:http://blog.csdn.net/haozhenming/article/details/72772787 本文目录: 一.React Native 已经成为了移动前端技术的趋势 二.基于React Native 进行移动平台研发过程中的一些思考 三.基于React Native 进行移动平台研发过程中的一些实践 四.小结 一.React Native 已经成为了 移动前端技术的趋势 从2014年年底,Facebook计划开源React Native 的时候,我就已经开始关注TA了…
在React Native里有很多种方法来创建可滚动的list.比如,ScrollView和ListView.他们都各有优缺点.但是在React Native 0.43里增加了两种行的list view.一个是FlatList, 一个是SectionList.今天我们就来详细了解一下FlatList. 如果你熟悉RN之前的ListView的话你会发现FlatList的API更加的简单,只需要给它一列数据,然后根据每一项数据绘制行就可以. 源代码在github上.代码中使用的是RN 0.49.5.…
回归RN,非常开心啊! 在React Native 0.49.5上开发,直接遇到一个ios模拟器的问题.这个问题很简单就是Bundle URL not present. 在网上找了很多的解决方法,都不能用. 最后发现,其实就是访问localhost的时候找不见地址.只要把localhost改成127.0.0.1就可以了.但是从哪里改呢?stackoverflow的方法并不可行,OC的文件早就移动的不知道哪里去了. 于是乎,只好从AppDelegate.m文件里的js code location方…
本文假设你已经有一定的React Native基础,并且想要了解React Native的JS和原生代码之间是如何交互的. React Native的工作线程 shadow queue:布局在这个线程工作 main thread:UIKit在这里工作 Javascript thread:Js代码在这里工作 另外每一个原生模块都有自己的一个工作GCD queue,除非你明确指定它的工作队列 *shadow queue*实际是一个GCD queue,而不是一个线程. 原生模块 如果你还不知道如何创建…
Ref: React Native跨平台移动应用开发 后记:这本书博客味有点浓. 本篇涉及新建工程的若干套路,以及一点语法知识. 创建新工程 (1) 解决的一大核心问题: (2) 使用Javascript的严格模式. (3) Ubuntu14.14 React Native 环境搭建 开发环境配置: ubuntu下折腾ReactNative https://gist.github.com/platonish/f913e8a691ae811524f47bfb7710437b 亲测,可用,开始创建工…
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 随着 React 的盛行,其移动开发框架 React Native 也收到了广大开发者的青睐,以下简称 RN.通过 RN 我们能够使用 JavaScript 语言来实现跨平台移动应用的开发,打开了前端工程师通往移动平台的大门.用 RN 官方的介绍来概括它的特点就是:Learn once, write anywhere. 如果你了解 React,那么学习 RN 的话应该会非常轻松.因为 RN 和 R…
在React Native开发中,所有需要显示的字符串文本都需要放置在Text或者Text的子组件中.虽然在之前的文章中多次使用了Text组件,但是Text组件还是值得专门学习的, 并没有想象中的那么简单. 任何一个组件,都有样式和属性,样式一般约束控件的样式和位置,定义在style属性中.属性就是直接声明在控件上. Text样式 Text组件支持View的所有样式键.但是需要注意的是,Text内部的元素不再使用flexBox布局,而是采用文本布局. 这意味着Text组件内部的元素不再是一个个的…
React Native的导航有两种,一种是iOS和Android通用的叫做Navigator,一种是支持iOS的叫做NavigatorIOS.我们这里只讨论通用的Navigator.会了Navigator,NavigatorIOS也就不是什么难事了. 本文所使用的是React Native 0.34.FB团队更新的太快了,我会在后续出现大的改动的时候更新本文以及代码. Navigator基础 Navigator在不同的Scene之间跳转. initialRoute对象 这是Navigator所…
(1).资讯 1.React Native 0.22_rc版本发布 添加了热自动重载功能 (2).技术文章 1.用 React Native 设计的第一个 iOS 应用 我们想为用户设计一款移动端的应用,却不知从何下手,我们只知道每一个人都希望做一款又酷又好玩儿体验又十分顺滑的应用,然而团队里没人有移动端的经验.于是,我们最终只好选择React Native作为我们的开发工具.结果证明,这是一个非常明智的选择,我们从开始到现在的所思所感. 2.使用 ListView 组件实现类似iPhone通讯…
本文基于React Native 0.52 一.创建一个项目 1.初始化一个RN项目 react-native init RNDemo 2.连接一个设备或是打开模拟器 可以通过 adb devices 查看连接的设备,如下图: 3.进入RNDemo目录下,运行项目 cd RNDemo react-native run-android 运行成功如下图: 二.项目目录 app文件夹 -- 自己创建的,自己写的页面都放在这里面 App.js -- 整个应用的根容器 index.js -- 在这里面将A…
本文基于React Native 0.52 参考文档https://reactnavigation.org/docs/navigators/navigation-prop 一.基础 1.三种类型 TabNavigator -- 用于设置多个选项卡的页面 StackNavigator -- 用于页面之间的跳转 DrawerNavigator -- 用于侧面滑出的抽屉效果 2.属性配置 navigate(routeName, params, action) -- 跳转页面 routeName:目标路…
本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-Demo 一.总览 头部通常分为左.中.右三部分,效果图如下: 二.头部组件 1.创建components文件夹,新建commonHead.js 2.commonHead.js 头部分为左.中.右三块,我们需要提供接口,获取外部传入的值,从而判断哪一块需要创建. static propTypes =…
本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-Demo 一.总览 轮播图几乎是必备的效果,这里选择 react-native-swiper 来实现,效果如下图: 二.实现轮播图效果 1.通过npm安装react-native-swiper npm install react-native-swiper --save 2.在recommend.js…
本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-Demo 一.总览 这个效果也是APP里很常见的,之前把这个想的太复杂了,后来才知道原来用FlatList就可以轻松实现,效果图如下(专题精选): 二.代码实现 1.加几条数据 topic: [ { title: '岁末清扫有它们,体验大不同', describe: '更轻松.更美好的大扫除攻略',…