又写了一个《ONE》,别急呀,我可没copy上次写的代码~html
这是用ReactNative写的《ONE》react
基本界面都已经实现,固然了,有些地方图省事(搞不定) + 追求速度写的Demo,就天然会致使:android
项目地址 => github.com/liuzho/ONE-…ios
个人我的主页 => liuzho.comgit
尽管Kotlin风光无限几乎对各大社区进行了屠版,但我仍是冒着被淹没的风险把这个Demo发出来了,万一有人看呢(逃..github
没事,ReactNative自有魅力!(各类技能全给你学了管你谁有魅力).....web
若是你初学RN,那么帮助可能有限,请你点个赞/点个star,以备后续学习npm
若是你是RN大牛,那么请你点个赞/点个star,慢慢看,慢慢嘲讽我json
若是你有一丢丢RN基础,想练练手,那么请你点个赞/点个star,反正你也学不到啥略略略~~~react-native
固然了,国际惯例,甩预览图:
你须要这样作:
git clone https://github.com/liuzho/ONE-RN.git
cd ONE-RN
npm install//切记不要用cnpm!亲测cnpm致使没法运行
react-native run-ios
or react-native run-android
理论上iOS(测试可用,部分组件如ToastAndroid不通用报黄)和Android均可以运行
"react": "16.0.0-alpha.6",
"react-native": "0.44.0",
"react-navigation": "^1.0.0-beta.9"复制代码
StackNavigator / TabNavigator的使用
你能看到的:底部Tab(TabNavigator)、第一个Tab内相似viewPager滑动(TabNavigator)、跳转到用户/搜索等界面(StackNavigator)
为何不用ViewPagerAndroid来实现第一个Tab内的滑动呢,由于这个组件在iOS不能用啊...GitHub应该有通用组件,我没有去找,用TabNavgation算了吧
组件信息传递props / nav的router携带数据params这些
抽取了一个Toolbar组件,title的显示经过props/router搞定,StackNavigator的router(项目内appNavigation)经过props疯狂传递给各个界面/组件
通用控件的抽取
Toolbar、CdView等一些组件的抽取(我没有刻意去作这件事,可能有些应该抽取的控件我并无很好的抽取出来)
动画Animated
我认可其实就一个假循环旋转动画....CdView点击按钮旋转,之前总结过Animated知识点如今全忘了...
WebView加载网页并插入JS代码
Detail页面的内容,因为想快点完成Demo,也以为界面写也就是同样的,就没本身实现,直接用了WebView加载相应的WebApp页面,而后经过webView.injectJavaScript
插入个人JS代码,将内容中头部和底部一些不须要的地方所有经过Element.reoveChild
给移除掉了
ListView、fetch使用
关于ListView、fetch的使用我有写过一篇文章:ReactNative网络fetch数据并展现在listview中
那么为何我没有在这个基础上实现下拉刷新、上拉加载、headerView、footerView呢?由于有一个FlatList彻底支持这些作法!那又为何我没有用FlatList呢?!由于在我发现FlatList的时候为时已晚,我已经不想再修改以前写了的代码了....FlatList中文文档
还有其余一些我一时也想不起来,你以为都用到了啥?T_T求不打
感谢API哥们儿?此次你还冒出来不?
API:戳这里=>ONE的API
注:若侵犯《ONE》权利,我将及时删除全部相关内容
我将保持更新/优化一段时间,毕竟还有一些细节没完成,还有挺多须要优化的地方