React-Native在0.43推出了两款新的列表组件:FlatList(高性能的简单列表组件)和SectionList(高性能的分组列表组件). 从官方上它们都支持常用的以下功能: 完全跨平台. 支持水平布局模式. 行组件显示或隐藏时可配置回调事件. 支持单独的头部组件. 支持单独的尾部组件. 支持自定义行间分隔线. 支持下拉刷新. 支持上拉加载. 其中,SectionList适合分组/类/区,但是在0.43版本中,如果希望section的头部能够吸顶悬浮,请暂时先使用老版的<ListVie…
React Native之获取通讯录信息并实现类通讯录列表(ios android) 一,需求分析 1,获取通讯录信息,筛选出通讯录里有多少好友在使用某个应用. 2,获取通讯录信息,实现类通讯录,可拨打电话 发短信等. 二,技术介绍与配置 2.1 技术介绍 1,react-native-contacts地址:https://www.npmjs.com/package/react-native-contacts 2,下载安装:npm install react-native-contacts --…
这些组件包括<TabView>,<NavigatorView>和<ListView>,他们实现了手机端最常用的交互和导航.你会发现这些组件在实际的项目中会非常有用. 原生的<Listview>组件使用起来会很平滑和顺畅,如果你想在ListView里渲染大量的数据,你必须让视图足够简单,这样才能减少卡顿. React Native的<ListView>组件需要两个属性:dataSource和renderRow.dataSource. 基本用法演示在…
React Native之倒计时组件的实现(ios android) 一,需求分析 1,app需实现类似于淘宝的活动倒计时,并在倒计时结束时,活动也结束. 2,实现订单倒计时,并在倒计时结束时,订单关闭交易. 3,实现获取验证码倒计时. 二,技术实现 2.1,活动倒计时与订单倒计时的实现,源码如下: componentDidMount() { this.interval = setInterval(() => { const date = this.getDateData(this.props.…
NavigatorIOS包装了UIKit的导航功能,可以使用左划功能来返回到上一界面.本组件并非由Facebook官方开发组维护.这一组件的开发完全由社区主导.如果纯js的方案能够满足你的需求的话,那么我们建议你选择Navigator组件(理论知识可以见React Native中文网). 一:概念内容 1:路由:一个路由是用于描述导航器中一页的对象.NavigatorIOS的第一个路由通过initialRoute属性来提供. render: function() { return ( <Navi…
React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown 倒计时 react-native-device-info 设备信息 react-native-fileupload 文件上传 react-native-icons 图标 react-native-image-picker 图片选择器 react-native-keychain iOS KeyCha…
本文出处: http://blog.csdn.net/chichengjunma/article/details/52920137 React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown 倒计时 react-native-device-info 设备信息 react-native-fileupload 文件上传 react-native-icons 图…
一个React Native组件从它被加载,到最终被卸载会经历一个完整的生命周期.所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键. ES6语法和之前的ES5语法有所变化,本篇文章是根据ES6语法写的. 在ES5语法中,有getDefaultPropTypes这个函数,这个函数在组件被创建时,调用一次,它的返回值成为了this.props的初始值. 而ES6语法中,属性的类型和默认值声明不像ES5语法那样在组件定义内部声明,而是在组件定义的外部声明,所以…
Text用于显示文本的React组件,并且它也支持嵌套.样式,以及触摸处理.在下面的例子里,嵌套的标题和正文文字会继承来自styles.baseText的fontFamily字体样式,不过标题上还附加了它自己额外的样式.标题和文本会在顶部依次堆叠,并且被代码中内嵌的换行符分隔开. 一:属性 1:allowFontScaling bool(iOS特有):控制字体是否要根据iOS的“文本大小”辅助选项来进行缩放. 2:numberOfLines number :用来当文本过长的时候裁剪文本.包括折叠…
react native开发中,为了封装性经常需要自定义组件,这样就会出现父组件和子组件,那么怎么在父组件和子组件之间相互通信呢,也就是怎么在各自界面push和pop.传值. 父组件传递给子组件: 父组件: 在主组件里面,使用通过写一个子组件的属性,直接把值或者navigator传给子组件即可.如下20行: /** * Sample React Native App * https://github.com/facebook/react-native * 父组件传递给子组件 * 父组件把值或者n…
前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. 顺传 其实我们在本系列第二篇文章中,讲述Props和State的时候就已经接触了顺传. 通过props传值 举个…
同 HTML 的 img 元素一样,React Native 提供的 Image 组件可以用来显示各种途径的图片,比如网络图片.本地图片.照相机图片等. 虽然效果是一样的.然而用法还是有区别的. 1.src属性改为了source属性. 在web中,如果加载图片会使用img标签,其中src属性用来指定图片的地址.而在React Native中,使用Image组件来加载图片,src属性也变为了source属性,而且不接受字符串,值是一个带有uri属性的对象. 2.必须声明图片的宽.高(限网络图片).…
上一篇 react-native文章提到了TextInput组件对安卓的适配问题,因此对该组件进行封装很有必要. 文章地址  react native定报预披项目知识点总结 TextInput介绍 官网地址: https://facebook.github.io/react-native/docs/textinput 附加中文网地址:https://reactnative.cn/docs/textinput/ TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了…
一. JSX和组件的概念 React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能.传统的创建方式是: 但这样的代码可读性并不好,于是React发明了JSX,利用我们熟悉的HTML语法来创建虚拟DOM: 在实际开发中,JSX在产品打包阶段都已经编译成纯JavaScript,JSX的语法不会带来任何性能影响.因此,JSX本身并不是什么高深的技术,可以说只是一个比较高级但很直观的语法糖. 二. View组件中常见的属性  …
navigation的几个难点和问题: 1.底部tab是否可以加上中间的大按钮? 如果加上,如何触发事件? js文件放哪? 2.navigation的登录注册页面.成功后应该不能返回刚刚的登录页面?清空页面栈? 3.登录成功跳转到大厅?意图页面?还是当前所在页?弹出model是不是可以解决所有问题?登录成功如何重刷当前页? 一.前言 在 React Native 中,官方已经推荐使用 react-navigation 来实现各个界面的跳转和不同板块的切换. react-navigation 主要…
开发过程中, 几乎每个项目都会用到图片. RN就是通过Image组件显示图片.既可以加载网络图片,也可以加载本地资源图片. Image组件必须在样式中声明图片的款和高.如果没有声明,则图片将不会被呈现在界面上. 网络图片加载 加载网络图片非常简单, 直接上代码: 修改index.ios.js或者inde.android.js import React, { Component } from 'react'; import { AppRegistry, StyleSheet, View, Imag…
截图如下: /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, TouchableOpacity, AlertIOS, } from 'react-native'; // ES5写法 var ViewDemo…
React Native版本:0.60.4 解决方法: cd ios pod deintegrate pod install 然后重新启动就好了(示例页面变样了( ⊙ o ⊙ )) END----------------------------…
大家好,这是跋涉者,wadereye,说来惭愧, 我是从2017年8月25日左右开始学习React Native的,因为时间不多, 在学习的过程中,感觉资料非常零散,要趟过的坑巨多,遇到的问题也非常多. 作为新手,文章看的多,但是开始写具体应用的时候,往往一脸迷茫. 所以,我一边学习,一边把学习React_native写过的测试放和看过的资料在这里,供大家参考 . 我整理的要学RN 之前,最好要掌握的基础知识: HTML基础知识 CSS基础知识 Javascript 基础知识 Node JS基础…
最近在做一个RN项目,有使用到FlatList这样一个RN封装的组件去做上拉加载更多功能,在iOS和Android平台上,总结了以下几个遇到的问题及解决方案 1. 进入页面onReached开始就被触发 解决方案: // 伪代码如下 <FlatList ... onEndReachedThreshold={0.5} ... /> 当onEndReachedThreshold设置大于1时,的确进入页面就触发,设置在0-1之间时按正常逻辑走 2. 上拉加载更多onReached被触发两次,造成重复…
ListView - 一个核心组件,用于高效地显示一个可以垂直滚动的变化的数据列表.最基本的使用方式就是创建一个ListView.DataSource数据源,然后给它传递一个普通的数据数组,再使用数据源来实例化一个ListView组件,并且定义它的renderRow回调函数,这个函数会接受数组中的每个数据作为参数,返回一个可渲染的组件(作为listview的每一行). ListView还支持一些高级特性,譬如给每段/组(section)数据添加一个带有粘性的头部(类似iPhone的通讯录,其首字…
一个包装了平台的ScrollView(滚动视图)的组件,同时还集成了触摸锁定的“响应者”系统. 记住ScrollView必须有一个确定的高度才能正常工作,因为它实际上所做的就是将一系列不确定高度的子组件装进一个确定高度的容器(通过滚动操作).要给一个ScrollView确定一个高度的话,要么直接给它设置高度(不建议),要么确定所有的父容器都已经绑定了高度.在视图栈的任意一个位置忘记使用{flex:1}都会导致错误,你可以使用元素查看器来查找问题的原因. ScrollView内部的其他响应者尚无法…
一个用于显示多种不同类型图片的React组件,包括网络图片.静态资源.临时的本地图片.以及本地磁盘上的图片(如相册)等 一:属性 1:onLayout function 当元素挂载或者布局改变的时候调用,参数为:{nativeEvent: {layout: {x, y, width, height}}}. 2:onLoad function 加载成功完成时调用此回调函数. 3:onLoadEnd function 加载结束后,不论成功还是失败,调用此回调函数. 4:onLoadStart fun…
一:简介 两个TabBarIOS和TabBarIOS.Item组件可以实现页面Tab切换的功能,Tab页面切换的架构在应用开发中还是非常常见的.如:腾讯QQ,淘宝,美团外卖等等 二:TabBarIOS.Item属性 1.View相关属性样式全部继承(例如:宽和高,背景颜色,边距等相关属性样式) 2.badge string,number 在图标的右上方显示小红色气泡,显示信息 3.icon Image.propTypes.source Tab按钮自定义的图标,如果systemicon属性被定义了…
TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了多种特性的配置,譬如自动完成.自动大小写.占位文字,以及多种不同的键盘类型(如纯数字键盘)等等.它的样式属性跟Text是一样: 一:属性 1:autoCapitalize enum('none', 'sentences', 'words', 'characters') 控制TextInput是否要自动将特定字符切换为大写: characters: 所有的字符. words: 每个单词的第一个字符. senten…
概述 今天我们来讲解一下关于 ViewPager 的使用,它是一个允许子视图左右滚动翻页的容器.我们知道在Android开发中系统有ViewPager这个组件,作用是实现滚动翻页的,在RN中也是有这么一个组件的(ViewPagerAndroid),每一个ViewPagerAndroid的子容器会被视作一个单独的页,并且会被拉伸填满ViewPagerAndroid. 我们来看一段官方给出的例子: render: function() { return ( <ViewPagerAndroid sty…
import React, {Component} from 'react';import {ScrollView, StyleSheet, Text, View, PixelRatio} from 'react-native';import { Navigator } from 'react-native-deprecated-custom-components'; // 0.45以上的版本要从这个模块获取导航 export default class NavigatorList extend…
创建一个原生的WebView,可以用于访问一个网页.可以加载一个URL也可以加载一段html代码: 一:属性 1:iosallowsInlineMediaPlayback bool 指定HTML5视频是在网页当前位置播放还是使用原生的全屏播放器播放. 默认值为false. 注意 : 要让视频在网页中播放,不光要将这个属性设为true,HTML中的视频元素本身也需要包含webkit-playsinline属性. 2:automaticallyAdjustContentInsets bool 3:(…
1.首先如代码所示  引入DatePickerIOS组件 设置他的时间是当前时间 export default class AlertDemo extends Component { render() { return ( <View style={styles.container}> <DatePickerIOS date={new Date()} mode="time"/> </View> ); } } 其中mode属性代表的是他的展示模式总共有…
在实际开发中,我们通常会嵌入一些html页面,官方为我们提供了一个非常好用的网页组件WebView,通过这个组件我们可以通过传入一个url或者是传入一段html 一. WebView的基本属性方法介绍与使用 主要属性介绍 source:在 WebView 中载入一段静态的 html 代码或是传入一个 url(还可以附带一些 header 选项) automaticallyAdjustContentInsets:设置是否自动调整内容.格式:bool.默认值为true contentInset:设置…