ReactNative
 
不过除了这个RN官方文档,其他RN中文教程都很落伍,基本上都是16年左右的。所以建议大家有问题多去google外网有很多问题的解决办法。
当时学习时使用的windows。
学习成果:大致模仿出了一个App的基本框架及示例demo。
整个学习分为以下几个部分:
1、学习各个基础组件的使用方式和方法属性。需要主要关注的组件即
文字、text
文本输入、input组件
滚动视图、
图片组件
2、学会以上四个基础组件便可以组建出一些简单的视图页面。
除此之外需要学习一些基本的规范要求:例如,计时器,颜色,动画等的书写,并尝试将这些结合起来书写demo。
3、学习navigation的书写及属性及方法。navigation主要有三种:stackNavigator,drawerNavigator和tabNavigator三种各有各的书写方法,有特有的方法及属性。这个需要重点学习。navigator有官方网站https://reactnavigation.org/docs/en/hello-react-navigation.html。
4、学习Storage 本地存储。
var storage = new Storage({
ize: 1000,
// 存储引擎:对于RN使用AsyncStorage,对于web使用window.localStorage
// 如果不指定则数据只会保存在内存中,重启后即丢失
storageBackend: AsyncStorage,
// 数据过期时间,默认一整天(1000 * 3600 * 24 毫秒),设为null则永不过期
defaultExpires: 1000 * 3600 * 24,
// 读写时在内存中缓存数据。默认启用。
enableCache: true,
// 如果storage中没有相应数据,或数据已过期,
// 则会调用相应的sync方法,无缝返回最新数据。
})
global.storage = storage;
5、web与RN页面通信(web放在android/app/src/main/assets中)
<WebView
style={{ width: screenWidth }}
source={{ uri:'file:///android_asset/index.html'}}
javaScriptEnabled={true}
scalesPageToFit={true}
startInLoadingState={true}
onMessage={this.showdata.bind(this)}
ref='webview'
/>
Rn向web发送信息
this.refs.webview.postMessage(JSON.stringify({data222:'RN向web发送消息成功'}))
web接收RN发送的消息:
window.document.addEventListener('message', function (e) {
const message = JSON.parse(e.data);
alert(message.data222)
})
web向RN发送消息
window.postMessage(
JSON.stringify({data111:'web向RN数据传输成功'})
);
RN接收消息:onMessage={this.showdata.bind(this)}
showdata(e){
let it = this;
let data = JSON.parse(e.nativeEvent.data);
alert(data.data111)
}
6、有些图片需要放在原生的图标位置处,例如RN组件TextInput组件的inlineImageLeft属性的图片需要放在android/app/src/main/res/drawable/password.png处(原生App的图标所在处)。
面临的问题:
问题1、配置环境时,有时一直cannt get bridge,可能因为nodemodules的问题。有的时候使用cnpm下载会无法运行,使用Npm就好了。
问题2、navigator的页面传值问题需要重点学习。
eg1:()=>navigate('Catchtoys',{
'retitle':'抓娃娃'
})
eg2:this.props.navigation.navigate(this.state.retitle1)
问题三、页面间传值也可以使用监听的方法。
eg:DeviceEventEmitter.addListener('refreshtab',()=>{
storage.load({
key: 'routeState',
}).then(ret => {
this.setState({
retitle1:ret.retitl
})
})
});
DeviceEventEmitter.emit('refreshtab');
 

ReactNative学习一的更多相关文章

  1. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  2. ReactNative学习实践--动画初探之加载动画

    学习和实践react已经有一段时间了,在经历了从最初的彷徨到解决痛点时的兴奋,再到不断实践后遭遇问题时的苦闷,确实被这一种新的思维方式和开发模式所折服,react不是万能的,在很多场景下滥用反而会适得 ...

  3. React-Native学习指南

    React-Native学习指南 本指南汇集React-Native各类学习资源,给大家提供便利.指南正在不断的更新,大家有好的资源欢迎Pull Requests! 同时还有Awesome React ...

  4. [转] 整理了一份React-Native学习指南

    自己在学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull requests! React-Native学习指南 本指南汇集React ...

  5. 一份React-Native学习指南-感谢分享

    自己在学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull requests! React-Native学习指南 本指南汇集React ...

  6. 整理了一份React-Native学习指南

    原文:  http://www.w3ctech.com/topic/909 自己在学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull ...

  7. React JS和React-Native学习指南

    自己在学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull requests! React-Native学习指南本指南汇集React- ...

  8. React Native指南汇集了各类react-native学习资源、开源App和组件

    来自:https://github.com/ele828/react-native-guide React Native指南汇集了各类react-native学习资源.开源App和组件 React-N ...

  9. 一份React-Native学习指南

    直击现场 学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull requests! React-Native学习指南 本指南汇集Rea ...

  10. react-native 学习

    官网 https://facebook.github.io/react-native/docs/getting-started.html#content 下载 npm install -g react ...

随机推荐

  1. org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication canc

    重新添加一个凭证,用新的凭证 第二总是取最新的代码,而不是用update 有问题,问哥

  2. 计算 24 点是一种扑克牌益智游戏,随机抽出 4 张扑克牌,通过加 (+) ,减 (-) ,乘 ( * ), 除 (/) 四种运算法则计算得到整数 24 ,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写 joker 表示小王,大写 JOKER 表示大王:

    include "stdafx.h" #include <iostream> #include <fstream> #include <string& ...

  3. redis主从备份

    redis主从备份,默认是读写分离的,master用于写,slave用于读.slave的写只能用于存储一些短暂状态的变量,应为在下次同步时,会被移除. 配置主从备份原则:配从不配主,既只需修改从库配置 ...

  4. 开源码应用之Eclipse篇

    开写这篇的时候,恰逢Eclpse Mars(4.5)正式公布,最终由日蚀变登火星了,也离我開始基于Eclipse开发产品已经过去10年,这10年间,经历了Eclipse由私有核心框架到拥抱OSGi, ...

  5. Hibernate通过one-to-one元素的一对一映射

    正如我们在前面的例子中讨论过的,在hibernate中执行一对一映射有两种方法: 通过many-to-one元素 通过one-to-one元素 这里,我们将通过one-to-one元素进行一对一的映射 ...

  6. 《深入浅出WPF》笔记——事件篇

    如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...

  7. GOCR v0.50 原理分析

    一,简介: GOCR是一个c写的开源OCR库,GNU Public License,作者:Joerg Schulenburg 项目主页:http://jocr.sourceforge.net/inde ...

  8. Linux之(node.js)服务

    1.1下载源码 你需要在下载最新的Nodejs版本, https://nodejs.org/en/download/ http://nodejs.org/dist/ 现在以node-v7.7.1.ta ...

  9. 高性能图片服务器–ZIMG(转)

    2011年李彦宏在百度联盟峰会上就提到过互联网的读图时代已经到来1,图片服务早已成为一个互联网应用中占比很大的部分,对图片的处理能力也相应地变成企业和开发者的一项基本技能.需要处理海量图片的典型应用有 ...

  10. windowsphone8.1学习笔记之磁贴

    磁贴,wp系统独有.个人觉得还是蛮给力的. 好了废话不多说,我们来创建自己的辅助磁贴.创建磁贴是通过SecondaryTile对象来的,所以先说说该对象的一些重要属性. Arguments属性:传值用 ...