
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。这是官网上对它的介绍。可以知道,这个asyncstorage也是以键值对的形式进行存储数据的。1、封装DeviceStorage类import {AsyncStorage}from 'react-native';export default class Device...
一、从React Native中调用原生方法(原生模块) 原生模块是JS中也可以使用的Objective-C类。一般来说这样的每一个模块的实例都是在每一次通过JS bridge通信时创建的。他们可以导出任意的函数和常量给React Native。相关细节可以参阅这篇文章。 在React Native中,一个“原生模块”就是一个实现了“RCTBridgeModule”协议的Objectiv...
修改名称 应用程序的名称默认是使用 react-native-cli 创建项目时的名称。修改的方式很简单,找到相应的配置然后修改即可。例如,我初始化的项目名称叫 test,现在想修改成 测试程序。Android 编辑 android/app/src/main/res/values/strings.xml 文件: <resources> 原始 <str...
学习iOS开发的同学应该都知道UITableView,几乎每个APP中都有它的存在,而且衍生出各种形态;那么同样,ListView就是在React Native中的tableView,而且更加简单和灵活易用;让我们一起搞定它。一、前言ListView组件是React Native中一个比较核心的组件,用途非常的广; 该组件设计用来高效的展示垂直滚动的数据列表: 1.1 ...
移动设备上的手势识别要比在 web 上复杂得多。用户的一次触摸操作的真实意图是什么,App 要经过好几个阶段才能判断。比如 App 需要判断用户的触摸到底是在滚动页面,还是滑动一个 widget,或者只是一个单纯的点击。甚至随着持续时间的不同,这些操作还会转化。此外,还有多点同时触控的情况。 手势响应系统可以使组件在不关心父组件或子组件的前提下自行处理触摸交互。 作为与用户交互的第一...
一、组件的属性(props)和状态(state) 1.属性(props) 它是组件的不可变属性(组件自己不可以自己修改props)。 组件自身定义了一组props作为对外提供的接口,展示一个组件时只需要指定props作为节点的属性。 一般组件很少需要对外公开方法(例外:工具类的静态方法等),唯一的交互途径就是props。所以说它也是父组件与子组件通信的桥梁。 组件自己不可...
1、JS的单线程 所有的事件处理,API请求,等操作都在这个线程上,在this.setState大量数据时,状态的变动会导致re-render,这期间所有由JavaScript 控制的动画都会出现卡顿掉帧。 比如在切换路由时,帧数会有明显抖动。此时如果有一些在componentDidMount执行的操作就会使得路由过渡动画非常卡顿。 2、开发环境性能比生产环境差 开发环境下...
很多React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是ES5版本的,所以很多人在学习的时候连照猫画虎都不知道怎么做。今天在此整理了一些ES5和ES6的写法对照表,希望大家以后读到ES5的代码,也能通过对照,在ES6下实现相同的功能。 模块 ...
在React Native中使用组件来封装界面模块时,整个界面就是一个大的组件,开发过程就是不断优化和拆分界面组件、构造整个组件树的过程。 上张图涵盖了一个组件从创建、运行到销毁的整个过程。大家可以看到,初始化的时候会调用5个函数(按先后顺序)。这5个函数在整个组件被创建到销毁的过程中只调用一次。初始化完毕后,当组件的props或者state改变都会触发不同的钩子函数,继而引发组...
作为一名有理想、有抱负的一代iOS程序员,本着“我头发够多,还能学”的原则,我选择了追随那些大佬的脚步,于2018年开始了React Native。 第一步:找文档、准备安装开发环境; 第二步:一步步跟着大佬的脚步,去输入命令安装(错了,是复制、粘贴); 第三步:哇!????好顺利,竟然完成了(不过这是第几次才成功的,我忘记了,安装的乐趣,你们不安装,你不会懂)。 满怀信心的打开了..







