前言: 网上目前react-native的教程较少,加上许多帖子还是用的ES5(2015年6月已发布ES6标准),有些细节很难找到答案,这里把遇到的问题做一个分享,让学习者尽量少踩坑. 出现问题: 1.怎么获取ViewPager控件 2.怎么定义函数,使用setPage(),去跳转页面. 3.在使用了bind()的情况下,函数怎么传参. 解决方法: 步1.使用ref获取真实的DOM节点,类似去给控件设置id. <ViewPagerAndroid style={styles.pageStyle}…
[RN] React Native 实现 类似QQ 登陆页面 一.主页index.js 项目目录下index.js /** * @format */ import {AppRegistry} from 'react-native'; import App from './src/js/App'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); 二.App.…
概述 今天我们来讲解一下关于 ViewPager 的使用,它是一个允许子视图左右滚动翻页的容器.我们知道在Android开发中系统有ViewPager这个组件,作用是实现滚动翻页的,在RN中也是有这么一个组件的(ViewPagerAndroid),每一个ViewPagerAndroid的子容器会被视作一个单独的页,并且会被拉伸填满ViewPagerAndroid. 我们来看一段官方给出的例子: render: function() { return ( <ViewPagerAndroid sty…
import { withNavigationFocus } from 'react-navigation'; class Warngreete extends React.Component { constructor(props) { super(props); } componentDidMount() { this.reload();}      componentWillReceiveProps(newProps) { if(newProps.isFocused){ this.relo…
在push的时候定义回调函数: this.props.navigator.push({ component: nextVC, title: titleName, passProps: { //回调 getUserInformation: function(inforDict) { alert(inforDict); } } }); 在push的界面调用 this.props.getUserInformation('回调'); 注: 如果回调报错, 查看renderScene renderScen…
1.需配环境变量,值为sdk的地址. ANDROID_HOME  值:E:\Users\HP\AppData\Local\Android\sdk 2.下载gradle-2.14.1-all.zip 包 修改地址为本地gradle压缩包的地址,这里应该注意路径不可有带空格的,比如Program Files是会出错的. 先打开在android Studio导入项目 要导入项目android目录下才有效,如E:\Project\RN\AwesomeProject\android 启动模拟器 cmd 在…
第一章  跳转的实现 1.component  中添加这行代码 <View style={styles.loginmain}> <Text style={styles.logintext} onPress={() => navigator.push({name:'In'})}>注册</Text> <Text style={styles.logintext} onPress={() => navigator.push({name:'Forget'})}&…
React Native使用props来实现页面间数据传递和通信.在React Native中,有两种方式可以存储和传递数据:props(属性)以及state(状态),其中: props通常是在父组件中指定的,而且一经指定,在被指定的组件的生命周期中则不再改变. state通常是用于存储需要改变的数据,并且当state数据发生更新时,React Native会刷新界面. 了解了props与state的区别之后,读者应该知道,要将首页的数据传递到下一个页面,需要使用props.所以,修改home.…
我用了三天时间实现了一个相对比较完整的React Native 新闻发布类型的示例.应用做得很简单,但大多React Native的组件都有用到,今天做一个分享(由于我电脑是Windows系统,所以只实现了Android部分,没有对iOS做兼容),希望对初学者有用处. 实现界面       PS:页面实现不多,数据也是静态. 安装启动程序 看完上面的,可以直接到我的Github下载源码在本地跑起来,我这个示例的地址是: https://github.com/codingforme/react-n…
ANDROID_HOME环境变量 确保ANDROID_HOME环境变量正确地指向了你安装的Android SDK的路径. 打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建 具体的路径可能和下图不一致,请自行确认. 你需要关闭现有的命令符提示窗口然后重新打开,这样新的环境变量才能生效. 测试安装 react-native init AwesomeProject cd AwesomeProject react-nativ…
React Native目前有几个内置的导航器组件,一般来说我们首推Navigator.它使用纯JavaScript实现了一个导航栈,因此可以跨平台工作 场景简单来说其实就是一个全屏的React组件.与之相对的是单个的Text.Image又或者是你自定义的什么组件,仅仅占据页面中的一部分. 下面我们来定义一个仅显示一些文本的简单场景.创建一个名为"MyScene.js"的文件,然后粘贴如下代码: import React, { Component } from 'react'; imp…
本文基于React Native 0.52 参考文档https://reactnavigation.org/docs/navigators/navigation-prop 一.基础 1.三种类型 TabNavigator -- 用于设置多个选项卡的页面 StackNavigator -- 用于页面之间的跳转 DrawerNavigator -- 用于侧面滑出的抽屉效果 2.属性配置 navigate(routeName, params, action) -- 跳转页面 routeName:目标路…
react-navigation是一个导航库,要使用react-navigation来实现跳转页面,首先得在项目中安装此库,由于Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载. 所以这里使用Yarn来安装react-navigation.至于Yarn的安装,详情见 React Native官网 安装命令: yarn add react-navigation react-navigation 主要包括三个组件: StackNavigator 导航组件 TabNavig…
转载请注明出处:王亟亟的大牛之路 最近事情有点多,没有长时间地连贯学习,文章也停了一个多礼拜,愧疚,有时间还是继续学习,继续写! 还是先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android (最近还是保持日更,除非忙的起飞活着出去玩不然都是更的,不信你看) 废话不多,贴下运行效果 登陆前 登录成功后 部分代码借鉴:https://github.com/SpikeKing/WclNavigator rn的页面跳转都是交由Naviga…
大家好,这是跋涉者,wadereye,说来惭愧, 我是从2017年8月25日左右开始学习React Native的,因为时间不多, 在学习的过程中,感觉资料非常零散,要趟过的坑巨多,遇到的问题也非常多. 作为新手,文章看的多,但是开始写具体应用的时候,往往一脸迷茫. 所以,我一边学习,一边把学习React_native写过的测试放和看过的资料在这里,供大家参考 . 我整理的要学RN 之前,最好要掌握的基础知识: HTML基础知识 CSS基础知识 Javascript 基础知识 Node JS基础…
初学React Native,如果没有人指引,会发现好多东西无从下手,但当有人指引后,会发现其实很简单.这也是本人写这篇博客的主要原因,希望能帮到初学者. 本文不会介绍如何搭建开发环境,如果你还没有搭建,可参考这里的官方文档:https://react-native.org/doc/getting-started.html . 本文也不会介绍各种组件,太多了,可参考这里的官方文档:https://react-native.org/doc/components-and-apis.html . 本文…
 第一章 flexbox 布局 1.flexDirection:'row', 水平 flexDirection:'column',垂直 需要在父元素上设置这种属性才能实现flex. flex:1 会撑满整个屏幕. demo:如果一行有3格,则所有的flex:1 ,这样会平分width; 在flexbox中一般view不用设置固定的高度,都是以子元素撑开父元素,设置相应的margin padding  之类的属性值 . 2.flexbox   中的width 与height  是没有单位的  一般…
React Native 滚动跳转到指定位置 一.结构 <ScrollView horizontal={true} ref={(view) => { this.myScrollView = view; }}> <View></View> ... <ScrollView> 二.实现方法 1)先给View增加一个onLayout属性 <View onLayout={event=>{this.layoutX = event.nativeEvent…
React Native FlatList跳转到顶部/底部 核心代码如下: <ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={styles.container} //下拉刷新 ,有 ScrollView 需要加载ScrollView,无则加到 FlatList refreshControl={ <RefreshControl refreshing={this.state.isRefreshing} o…
之前我们介绍了RN相关的知识: 是时候了解React Native了 从零学React Native之01创建第一个程序 从零学React Native之02状态机 本篇主要介绍页面导航 上一篇文章给大家介绍了简单界面的搭建, 这一篇我们需要两个界面, 一个是注册界面,一个是注册信息界面. 当然我们还需要一个组件去控制两个界面的切换. 每个界面其实就一个组件 , 可以通过下面的代码抽取相关的模块 module.exports=RegisterLeaf; 注册界面的代码: 主要代码 import…
由于没有系统的去学习RN,对路由跳转了解不多,只是跟着项目在做,抽点时间简单学习一下RN路由跳转方法区别,总结如下: 如上图,外部是一个栈容器,此时A页面在最底部,navigate到B页面,为什么此时用navigate没有用push呢,因为在栈内没有B页面时,用navigate和push是一样的,都是进行入栈操作,没有区别,出于习惯使用navigate.下一步,B页面push了一个B页面,此时为何不使用navigate呢,因为栈内若已经存在一个相同页面,navigate就会失去跳转页面的效果,B…
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的搭建好环境本站推出搭建教程. 安装学习遇到任何问题可以加入 ReactNative高级交流群 127482131 或访问博客网站 http://www.reactnative.pw/ 第一步安装JAVA JDK 下载对应你电脑系统版本的 1.8 32位或64位SDK. 下载网站http://jdk.…
[转载] 本篇为联合翻译,译者:寸志,范洪春,kmokidd,姜天意 数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允许你使用 JavaScript 开发原生的 iOS 应用--就在今天,Beta 版的仓库释出了! 基于 PhoneGap 使用 JavaScript 和 HTML5 开发 iOS 应用已经有好几年了,那 React Native 有什么牛的? React Native 真的很牛,让大家兴奋异常的主要原因有两点: 可以基于 React Na…
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢 文章第一版出自简书,如果出现图片或页面显示问题,烦请转至 简书 查看 也希望喜欢的朋友可以点赞,谢谢 Navigator 与 NavigatorIOS 介绍 开发中,几乎所有的APP中或多或少都会涉及到多个界面间的切换,在Rea…
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢 文章第一版出自简书,如果出现图片或页面显示问题,烦请转至 简书 查看 也希望喜欢的朋友可以点赞,谢谢 TabBarIOS 组件简介 目前的APP内,大部分都是选项与选项之间切换,比如:微信.微博.QQ空间-,在iOS中,我们可以…
APP结构探索 我在Github上找到了一个有登陆界面,能从网上获取新闻信息的开源APP,想来研究一下APP的结构. 附上原网址:我的第一个React Native App 具体来讲,就是研究一个复杂功能的APP在编写时是如何一步一步展开的,包括APP内部逻辑.与UI交互.与服务器交互等. index.android.js 首先,我找到了index.android.js文件.文件很短,内容如下: /** * News * author : lufeng */ import React, { Co…
在项目中,不知道大家有没有遇到这样的一个问题,比如说有两个页面A,B.A页面中有某个按钮点击后可以跳转到B页面,现在有一个需求就是,我在B页面中做了某些操作,然后点击回退按钮,回到A页面,A页面中的数据也需要刷新过来.嗯,如果是做过android开发的朋友一定会知道,解决这样的需求的方法有很多,比如可以使用activity的生命周期,也可以使用广播等等,但是如果在react native中呢?? 我们看一下官网可以知道,react native的生命周期不是针对于页面的,而是组件,什么意思呢?也…
先说一下我使用webview的时候遇到的一个功能需求 是这样的,上图中的这个页面是用h5做的,但是由于点击"我的优惠劵"是需要跳转到我原生的页面,也就是说我需要获得这个h5提供的点击事件,但是由于这个页面不是在我们本地弄的,而是在后台那边弄好,然后通过给一个h5链接,所以我们在本地是没有办法给它添加点击事件.嗯,是的,我们没有办法给它添加事件点击,但是我们没有拿到这个点击事件,我们怎么进行跳转呢.到重点了. 在react native有一个第三方的组件,是可以实现这个功能的: reac…
上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.希望对在web开发有一定基础,想涉及app开发的同学有帮助,共同进步. 一.环境安装 首先是开发环境安装,我是在win7/8 64位环境下安装的安卓环境.模拟器用的是android studio自带模拟器(android emulator),安卓API 24(7.0),因为我没有mac -.-.文中组件…
NavigatorIOS包装了UIKit的导航功能,可以使用左划功能来返回到上一界面.本组件并非由Facebook官方开发组维护.这一组件的开发完全由社区主导.如果纯js的方案能够满足你的需求的话,那么我们建议你选择Navigator组件(理论知识可以见React Native中文网). 一:概念内容 1:路由:一个路由是用于描述导航器中一页的对象.NavigatorIOS的第一个路由通过initialRoute属性来提供. render: function() { return ( <Navi…