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. 2017-5-14 湘潭市赛 Parentheses 转化思想+贪心 使括号序列合法的最小花费。满足前面左括号的数量>=有括号的数量。

    Parentheses Accepted : Submit : Time Limit : MS Memory Limit : KB Parentheses Bobo has a very long s ...

  2. 把world转成html

    本来用php转的 效果不太理想 很不稳定 最后试了下java 效果不错 只记录java的方法好了 其实他们的原理都是一样的啊,都是用到了微软的com 首先是准备工作 下载(明确dll的版本是64位的还 ...

  3. Fragment嵌套Fragment实现的Tab导航

    要实现的效果就是底部导航,具体到每一个Fragment又在上部设置一个导航条,分成两个Fragment实现.效果图是: 首先给出activity的layout: <android.support ...

  4. wchar与char字符转换的探究

    在Xcode 模拟器环境下.測试wchar_t与char的转换: void convert_test() { setlocale(LC_ALL, "zh_CN.UTF-8"); c ...

  5. 注册通用验证用户filter

    /// <summary> /// Mvc注册全局Filter /// </summary> public class FilterConfig { /// <summa ...

  6. openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()&#39;

    今天照着一起做RGB-D SLAM (3)    , 程序会出现以下的错误: cv::initModule_nonfree(); /home/yhzhao/slam/src/detectFeature ...

  7. chrome远程调试按inspect后出现的界面为空白,应如何解决?

    使用chrome进行远程调试命令: chrome://inspect 编辑hosts文件,添加: Hosts文件路径:C:\Windows\System32\drivers\etc\hosts 61. ...

  8. iOS学习笔记(七)——UI基础UIButton

    前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...

  9. eclipse java文件提示 The import XXX cannot be resolved

    问题:eclipse导入类   提示The import XXX cannot be resolved 原因:原来使用JDK和现在使用的JDK不同造成的buildpath不对 解決方法: 1.右键项目 ...

  10. sublime Text的一些用法(emmet插件、)

    在学的过程中,看到了一个非常方便的html的标签的写法:,插件emmet 一.安装emmet 看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的1 ONE:建议到官方下载 ...