版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ReactNaitve学 ReactNaitveReactNative介绍Developer在模拟器上开启DeveloperEnableLiveReloadErrorsandWarningsChromeDeveloperFlexin在Android上支持GIF和WebP格式ReactNativeVisualStudioCode、WebStorm;移动端开发软件:Xcode、AndroidStudioNodeJSReactReactNativeFlex布局与样式掌握ReactNative的组件和API掌握ReactNativeReactNativeReactNaitve的简介:在React.jsConf2015大会上推出的一个用于开发Android和iOSApp的在ReactNative出现前,我们通常会选择这三种移动技术(NativeApp、HTML5、Hybrid)之一进行在资讯等一些强排版、弱交互的展示类App上大展拳脚。但由于WebView在移动设备上的真正适合跨平台的开发。HybridApp兼具了NativeApp良好用户体验的优势,也兼具了WebApp问设备、无法更新。ReactNative:底层引擎是JavaScriptCore,但调用的是原生的组件而非HTML5组件。这样NaviveAppJavaScript代码可以使用后端强大的Web方式管理,既可以做到高效开发,也可以实现快速部署和问题热修复。ReactNative优缺点:Web端,Android端和iOSlearnonce,writeeverywhere:ReactNative不强求一份原生代码支持多个平台,所以不是writeonce,runanywhere;reactnative在iOSiOS7以上,Android仅支持Android4.1ReactNativevsFluttervsWeexreact-nativeinit(名称不可使用连接符等特殊字符,命名可以参考APP应用名称比如)cdcdreact-nativerun-iosorreact-nativerun- 是ReactNative给开发者定制的一个开发者菜单,来帮助开发者调试ReactNative应可以通过Command⌘+M快捷键来快速打开 以创建一个NexusS的模拟器。可以通过Command⌘+D快捷键来快速打开 Reload选项,单击Reload让ReactNative重新加载js。对于iOS模拟器Command⌘+可以通过双击提示:如果Command⌘+R无法使你的iOS模拟器加载js,则可以通过选中 Keyboard“ConnectHardwareKeyboard”EnableLive该选项提供了ReactNative动态加载的功能。当你的js代码发生变化后,ReactNative会自动生成Errorsand在development模式下,js部分的Errors和Warnings会直接打印在或模拟器屏幕上,以红屏和黄ReactNative程序运行时出现的Errors会被直接显示在屏幕上,以红色的背景显示,并会打印出错误信息。你也可以通过console.error()来手动触发Errors。ReactNative程序运行时出现的Warnings也会被直接显示在屏幕上,以黄色的背景显示,并会打印出警告信息。你也可以通过console.warn()来手动触发Warnings。你也可以通过console.disableYellowBox=true来手动禁用Warnings的显示,或者通过console.ignoredYellowBox=['Warning:...'];来忽略相应的WarningChromeDeveloper 下单击”DebugJSRemoy”启动JS调试功能。此时Chrome会被打开,同时会创建一个“.”Tab页。>选择开发者工具。你也可以通过快捷键(CommandOptionIonMac,CtrlShiftIon<View<View<Textstyle={{fontSize:16,margin:20}}>尺寸上述代码,运行在Android上时,View的长宽被解释成:100dp100dp,字体被解释成16sp,运行在RN中默认是flexDirection:'column',WebCssflex-direction:'row'RN中默认alignItems:stretch',在WebCss中默认align-items:'flex-不支持的属性:align-contentflex-basisorderflex-flowflex-growflex-FlexinflexDirection:row|column|row-reverse|column-flexWrap:wrap|noWrap//justifyContent:flex-start|flex-end|center|space-between|space-aroundalignItems:flex-start|flex-end|center|stretchauto(default)元素继承了父容器的align-item属性,如果没有则为'stretch'flex-在RNStyleSheet<View<Viewstyle={styles.container}></View>conststyles=StyleSheet.create({}<View<View<ViewimportimportReact,{Component}fromimport{ tform,StyleSheet,Text,View}from"react-onPress={onPressLearnMore//用户点击此按钮时所调用的处理函数title="LearnMore"//按钮按钮内显示的文本color="#841584"//文本的颜色(iOS),或是按钮的背景色(Android)disabled={false}//按钮是否可以点击accessibilityLabel="Learnmoreaboutthispurplebutton"//用于给残障 <View<Viewstyle={[styles.container,size="large"//指示器的大小,默认为'small'[enum('small','large'),number]。目前只能在Android上设定具体的数值animating={true}//是否要显示指示器动画,默认为true表示显示,falsehidesWhenStopped={false//在animating为false的时候,是否要隐藏指示器(true)。如果animating和hidesWhenStoppedfalse,则显示一个静止的指示器。color="#0000ff"//滚轮的前景颜色(默认为灰色)。片、以及本地磁盘上的(如相册)等。下面的例子分别演示了如何显示从本地缓存、网络甚至是以'data:'base64uri形式提供的图style={{width:50,height://网络和base64数据 source={{uri:'style={{width:66,height://网络和base64 默认情况下Android是不支持GIF和WebP格式的。你需要在android/app/build.gradle文件中根dependenciesdependencies如果你需要支持Android4.0(APIlevel14)compile 如果你需要支持GIFcompile 如果你需要支持WebP格式,包括WebPcompile'com. compile'com. compile }:内。本组件目前仅支持iOS设备以及iOS11或更高版本。元素不再使用flexbox布局,而是采用文本布局。这意味着<Text>内部的元素不再是一个个矩ellipsizeMode={"tail"}//这个属性通常和下面的numberOfLines属性配合使用,文本超出numberOfLines设定的行数时,截取方式:head-从文本内容头部截取显示省略号。例如:"...efg",middle-在文本内容中间截取显示省略号。例如:"ab...yz",tail-从文本内容尾部截取显示省略号。例如:"abcd...",clip-不显示省略号,直接从尾部截断。numberOfLines={1}//配合ellipsizeMode设置行数onPress// >盘),TextInput在安卓上默认有一个底边框,同时会有一些padding。如果要想使其看起来和iOS上尽量一致,则需要设置padding:0width:height:borderWidth:3,borderColor:"blue"keyboardType={"default"}//决定弹出何种软键盘类型,譬如numeric(纯数字键 maxLengthmaxLength={20//限制文本框中最多的字符数。使用这个属性而不用JS逻辑去实现,可以避免闪烁editable={true//如果为false,文本框是不可编辑的。默认值为true。defaultValue={"xxxx"}//提供一个文本框中的初始值caretHidden={true}//如果为true,则隐藏光标。默认值为false。autoCapitalize={"none"}//控制TextInput是否要自动将特定字符切换为大写:characters:所有的字符,words:每个单词的第一个字符,sentences:每句话的第一个字符(默认),none:不切onChangeText={texttext:textclassclassMyWebextends{render(){return(source={{uri:'style={{marginTop:}/VirtualizedList:FlatList和SectionList的底层实现,VirtualizedList通过 data={[{key:'a'},{key:'b'}]}renderItem={({item})=><Text>{item.key}</Text>}ScrollView处于竖直方向的起点位置(scrollY:0),此时下拉会触发一个onRefresh常用APIletlet{height,width}=tform:平台APIimportimporttform,StyleSheet}from"react-conststyles= tform.OS==="ios"?200: tform.OS为key,从传入的对象中返回对应平台的值:constComponent= ios:()=>re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国医科大学《基础会计学》2025-2026学年期末试卷
- 闽南科技学院《中国工艺美术史》2025-2026学年期末试卷
- 中国医科大学《资产评估》2025-2026学年期末试卷
- 合肥科技职业学院《小学班级管理》2025-2026学年期末试卷
- 泉州幼儿师范高等专科学校《临床医学概要》2025-2026学年期末试卷
- 安全表率树立指南讲解
- 水生高等植物栽培工常识知识考核试卷含答案
- 镀锡工岗前工作实操考核试卷含答案
- 饮料灌装工岗前可持续发展考核试卷含答案
- 电商咨询师安全技能测试评优考核试卷含答案
- 土壤有机碳分布规律及其空间与垂向特征的解析研究
- T/CCS 055-2023燃煤电厂碳捕集-驱替采油工程项目全流程成本核算指南
- 数字化转型对企业信息披露质量的影响机制研究
- 消防安装工程试题及答案
- 2025年广东省深圳市福田区中考二模历史试题(含答案)
- 浆砌片石劳务施工合同
- 2024年山东地区光明电力服务公司招聘考试真题
- 2025年入党积极分子考试试题及参考答案
- INS+2024指南更新要点解读
- 2025年统计学多元统计分析期末考试题库:多元统计分析综合试题
- 《小石潭记》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案)
评论
0/150
提交评论