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. 大数据实战centos 6.7安装mysql5.7

    https://www.cnblogs.com/jr1260/p/6590232.html

  2. 深度历险:Redis 内存模型详解

    https://mp.weixin.qq.com/s/Gp6Ur7omGY6ZqDWygU2meQ Redis 是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说 Redi ...

  3. sql limit offset 区别

    select * from table limit 2,1;                  //含义是跳过2条取1条数据,即读取第3条数据 select * from table limit 2 ...

  4. View拖拽 自定义绑定view拖拽的工具类

    由于工作需求,需要用到这种处理方法所以我就写了这个 废话不多说先看效果图 接下来就看代码吧 DragDropManager import android.app.Activity; import an ...

  5. [浪风分享] -- 系列百度云管家 V2.1.0 单文件版-分享必用的神器

    废话不多说,神器送上 百度云管家 V2.1.0 更新时间:2013年05月22日更新内容:1.支持云端文件管理:删除.重命名.新建文件夹.移动2.支持缩略图浏览模式3.支持三种文件排序方式:按修改时间 ...

  6. Spring MVC文件上传教程

    1- 介绍 这篇教程文章是基于 Spring MVC来实现文件的上传功能,这里主要是实现两个功能:1.上传单个文件并将其移动到对应的上传目录:2.一次上传多个文件并将它们存储在指定文件夹下,接下来我们 ...

  7. VC++通过API连接MySQL

    1.  首先安装MySQL数据库server,本文安装的是mysql-installer-community-5.6.10.1.msi这个版本号.至于各个版本号有什么不同,不在这里说明. 例如以下的默 ...

  8. 【转】ATL提供的所有转换宏

    在头文件<atlconv.h>中定义了ATL提供的所有转换宏,如: A2CW (LPCSTR) -> (LPCWSTR) A2W     (LPCSTR) -> (LPWSTR ...

  9. OpenCV学习笔记一:OpenCV概览与配置编译

    一,OpenCV OpenCV官方网站:http://opencv.org/  OpenCV目前最新代码库地址:https://github.com/itseez/opencv 二,简介: OpenC ...

  10. EditText相关属性设置

    1.默认不弹出软件盘 在AndroidManifest.xml设置: <activity            android:name="com.demo.Activity" ...