ReactNative基础篇(1)语法、布局、组件通信

article/2025/6/28 4:55:04

•1.1语法

•ES6语法:ECMAScript6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言

•参考网站:http://es6.ruanyifeng.com/#docs/intro

•1.2布局

    •特点:

        •1)在React

            Native中布局采用的是FleBox(弹性框)进行布局。

        •2)像素无关,在React

            Native中尺寸是没有单位的,它代表了设备独立像素。

        •3)React

            Native中的FlexBox和WebCSS上FlexBox工作方式是一样的。但有些地方还是有些出入的。

1.2.1ReactNative所支持的Flex属性(父容器)

    •1)父容器属性

        •flexDirection enum('row', 'column','row-reverse','column-reverse')

        •flexWrapenum('wrap',nowrap')

        •justifyContentenum('flex-start','flex-end', 'center', 'space-between', 'space-around')

        •alignItemsenum('flex-start','flex-end', 'center', 'stretch')

    •2)主轴与侧轴:flexDirection是row时,主轴即水平方向的轴线,可以理解成横轴,侧轴垂直于主轴,可以理解为竖轴。flexDirection是column时主侧轴刚好相反

1.2.2Flex属性介绍

    •1)flexDirection

        •row:从左向右依次排列

        •row-reverse:从右向左依次排列

        •column(default):默认的排列方式,从上向下排列

        •column-reverse:从下向上排列

flexDirection

    •2)flexWrap属性定义了子元素在父视图内是否允许多行排列,默认为nowrap。

        •nowrapflex的元素只排列在一行上,可能导致溢出。

        •wrap

        flex的元素在一行排列不下时,就进行多行排列。

flexWrap

    •3)justifyContent定义了浏览器如何分配顺着父容器主轴的弹性(flex)元素之间及其周围的空间,默认为flex-start。

        •flex-start(default)从行首开始排列。每行第一个弹性元素与行首对齐,同时所有后续的弹性元素与前一个对齐。

        •flex-end从行尾开始排列。每行最后一个弹性元素与行尾对齐,其他元素将与后一个对齐。

        •center伸缩元素向每行中点排列。每行第一个元素到行首的距离将与每行最后一个元素到行尾的距离相同。

        •space-between在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素与行首对齐,每行最后一个元素与行尾对齐。

        •space-around在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素到行首的距离和每行最后一个元素到行尾的距离将会是相邻元素之间距离的一半。

justifyContent

    •4)alignItems以与justify-content相同的方式在侧轴方向上将当前行上的弹性元素对齐,默认为stretch

        •flex-start元素向侧轴起点对齐。

        •flex-end元素向侧轴终点对齐。

        •center元素在侧轴居中。如果元素在侧轴上的高度高于其容器,那么在两个方向上溢出距离相同。

        •stretch弹性元素被在侧轴方向被拉伸到与容器相同的高度或宽度。

alignItems

1.2.3子容器Flex属性

•alignSelfenum('auto','flex-start', 'flex-end', 'center', 'stretch')

•flexnumber

    •1)alignSelf以属性定义了flex容器内被选中项目的对齐方式。注意:alignSelf属性可重写灵活容器的alignItems属性。

        •auto(default)元素继承了它的父容器的align-items属性。如果没有父容器则为"stretch"。

        •stretch元素被拉伸以适应容器。

        •center元素位于容器的中心。

        •flex-start元素位于容器的开头。

        •flex-end元素位于容器的结尾。

alignSelf

    •2)flex定义了一个可伸缩元素的能力,默认为0。

flex

1.2.4其他布局 in React Native

    •1)视图边框

        •borderBottomWidthnumber 底部边框宽度

        •borderLeftWidthnumber左边框宽度

        •borderRightWidthnumber 右边框宽度

        •borderTopWidthnumber顶部边框宽度

        •borderWidthnumber边框宽

        •borderColor个方向边框的颜

        •borderColor边框颜色

    •2)尺寸

        •widthnumber

        •height

        number

    •3)外边距

        •margin

        number 外边距    

        •marginBottomnumber下外边距

        •marginHorizontalnumber左右外边距

        •marginLeftnumber左外边距

        •marginRightnumber右外边距

        •marginTopnumber上外边距

        •marginVerticalnumber上下外边距

    •4)内边距

        •padding        

        number 内边距

        •paddingBottomnumber下内边距

        •paddingHorizontalnumber左右内边距

        •paddingLeftnumber做内边距

        •paddingRightnumber右内边距

        •paddingTopnumber上内边距

        •paddingVerticalnumber上下内边距

   •5)定位(position)

        •absolute:生成绝对定位的元素,元素的位置通过"left","top", "right" 以及"bottom"属性进行规定。

        •relative:生成相对定位的元素,相对于其正常位置进行定位。"left:20"会向元素的LEFT位置添加20像素。

•1.3组件生命周期与通信

    •1.3.1生命周期

        •所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键

        参考:

    •1.3.2组件间通信

        •1)组件之间有三种可能的关系

            •父组件向子组件通信

            •子组件向父组件通信

            •非父子组件之间的传值

        •2)父组件向子组件通信

            •父组件向子组件传值

            •通过props传递

                在父组件中name='我是父组件向子组件传递的参数'

            •在子组件中通过this.props.name获取

            •父组件向子组件传递方法

            •与传递参数方法相同,通过props方法这样传递test={this.onParentClick1}

            •在子组件中触发这个方法this.props.test();

    •3)子组件向父组件通信

        •子组件向父组件传值

        •在子组件state中定义一个参数this.state= {name : '我是子组件向父组件传递的参数'};

        •在父组件中给子组件绑定ref,<Children ref="children"/>

        •在父组件中获取子组件的state,如this.refs.childern.state.name

        •子组件向父组件传递方法

        •同样通过ref来获得,前两步与传参方法相同。

            获取方法的方式也同样this.refs.childern.onChildenCilck2();

    •4)非父子组件之间的传值

        •组件之间无关联的形式与子组件向父组件传值的方式相同

        •通过ref给组件标记一个名字,同样通过this.refs.***.state/function方法相互调用。

以上!!

关注一下公众号  时时关注ReactNative动态,或者回复参与讨论

 


http://chatgpt.dhexx.cn/article/SK0McoNg.shtml

相关文章

HTML/CSS/JS 基本语法

前端 一、HTNL1、文件结构2、文本标签&#xff08;1&#xff09;块元素&#xff1a;div&#xff08;2&#xff09;行内元素&#xff1a;span&#xff08;3&#xff09;格式标签 3、图片、音频、视频&#xff08;1&#xff09;图片&#xff08;2&#xff09;音频< audio >…

flex 弹性布局

阮一峰的网络日志 首页 档案 上一篇&#xff1a;ES6 的功能侦测库 下一篇&#xff1a;Flex 布局教程&#xff1a;实 分类&#xff1a; 开发者手册 Flex 布局教程&#xff1a;语法篇 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年7月10日 感谢 腾讯课堂NEXT学院 赞助本站&…

前端可能问到的面试题(ts,js,css,es6)

1.void,null,undefined&#xff0c;never,NaN void:无返回值&#xff0c;只能赋值undefined和null null:空值&#xff0c;表示不存在 undefined&#xff1a;未定义&#xff0c;声明了但没有赋值&#xff0c;对象没有赋值的属性&#xff0c;对象没有返回值 never&#xff1a;永…

利用es6和es5的继承方式写一个简单的弹窗

本片博文受到https://blog.csdn.net/zfzhuman123/article/details/90411793的启发,es6部分代码只改了一点点,逻辑也是遵照他的思想来的,而且es5继承的部分也是用了部分es6的语法 1.首先是index.html <!DOCTYPE html> <html lang"en"> <head><m…

Flex 布局教程:语法篇

阮一峰的网络日志 首页 档案 上一篇&#xff1a;ES6 的功能侦测库 下一篇&#xff1a;Flex 布局教程&#xff1a;实 分类&#xff1a; 开发者手册 Flex 布局教程&#xff1a;语法篇 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年7月10日 网页布局&#xff08;layout&am…

Python全栈:ES6标准入门和Flex入门

文章目录 1 ES6标准入门2 开发环境搭建3 ES6与 JavaScript的关系4 ES6 变量与常量4.1 变量4.2 常量 5 ES6 解构赋值6 ES6 函数、箭头函数箭头函数理解this 7 JavaScript中的面向对象编程构造函数静态方法 8 ES6中的继承9 ES6中的模块化export的使用&#xff1a;import的使用在N…

ES6语法笔记

1.多行字符串 用反引号 表示&#xff1a; abc相当于 abc 2.字符串连接时使用变量 使用${变量名}直接引用字符串变量 var name 小明; var age 20; var message 你好, ${name}, 你今年${age}岁了!; alert(message); 3.字符串方法&#xff1a;不会改变原有字符串的内容&a…

mt4交易平台哪个好?不妨试试福瑞斯外汇平台

对于从事外汇交易的人来说&#xff0c;肯定对MT4不会陌生&#xff0c;众所周知&#xff0c;MT4是全球外汇交易中&#xff0c;最被广泛应用于零售客户市场的交易软件。界面简洁&#xff0c;容易上手等都是MT4潜在的优势&#xff0c;新手上路还得看MT4的指导。不过外汇交易中&…

AJPFX告诉你MT4平台有什么优势?

FX TERMINAL&#xff08;Meta Trader4&#xff09;交易平台功能 成功驾驭金融市场的第一步是拥有正确的工具。AJPFX为客户提供二十四小时的在线交易服务&#xff0c;MT4交易软件是目前全世界上最为先进&#xff0c;应用最为广泛的交易系统。客户的所要了解的行情报价&#xff0…

MT4行情交易API接口开发手记

之前开发的外汇量化交易系统&#xff0c;行情和交易接口都是通过在MT4平台下编写EA来实现&#xff0c;具体方法是&#xff1a;1、用C编写一个动态库文件&#xff0c;在里面实现行情和交易数据调用接口&#xff0c;将报价数据和K线数据写入数据库中&#xff0c;并从数据库中获取…

中期国际:MT4数据挖掘与分析方法:以数据为导向,制定有效的交易策略

在金融市场中&#xff0c;制定有效的交易策略是成功交易的关键。而要制定一份可靠的交易策略&#xff0c;数据挖掘与分析方法是不可或缺的工具。本文将介绍如何以数据为导向&#xff0c;利用MT4进行数据挖掘与分析&#xff0c;从而制定有效的交易策略。 首先&#xff0c;我们需…

双线macd指标参数最佳设置_手机mt4平台怎么使用macd双线指标

macd双线指标在外汇操作中具有重要作用&#xff0c;它既可用于电脑版的mt4&#xff0c;亦可用于手机mt4。那么&#xff0c;您对手机mt4macd双线指标了解多少&#xff1f;您知道它该如何添加、怎么使用吗&#xff1f;下文将为大家进行详细介绍。 手机mt4macd双线指标添加 手机mt…

MT4 API 跟单交易接口更新

1、MT4 API交易接口是什么&#xff1f; Api接口是跨平台多账号交易接口&#xff0c;是将MT4交易通道以API的方式聚合在一起&#xff0c;帮助开发商在各经纪商不提供manager后台账号、无须EA插件的情况下&#xff0c;也能轻松接入不同的MT4交易平台&#xff0c;完成登录、交易和…

MT4跟单软件更新至v4.23.0——HOOKSWORK多帐户跨平台

2022年12月7日更新内容&#xff1a; 1、新增“软件启动开始跟单” 当重启电脑或软件时&#xff0c;软件启动时&#xff0c;软件可自动启动开始按钮。 1&#xff09;重启服务器后自动登录系统命令&#xff1a;开始-运行- control userpasswords2 regedit>计算机\HKEY_LOCAL…

外汇交易MT4是什么软件?MT4与MT5有何区别?下载MT4要注意什么?

MT4是什么&#xff1f; MT4的全称是MetaTrader 4&#xff1b;是俄罗斯的迈达克公司发布的专门用于外汇交易的交易平台。MT4的特点是功能强大图表清晰使用简单&#xff1b;几乎可以加载市面上所有可用的金融市场技术分析指标&#xff1b;且自带mql语言功能&#xff1b;投资者甚至…

Hookswork多帐户跨平台MT4跟单软件的十二大优势:

Hookswork多帐户跨平台MT4跟单软件的十二大优势&#xff1a; 1、毫秒级跟单延迟 2、支持全球所有经纪商的 MT4 交易软件 3、不需要经纪商开放任何权限&#xff0c;不需要 EA 插件 4、不需要打开 MT4 终端 5、无绑定喊单及跟单账号数量限制 6、喊单账号也可以是观摩账号&#x…

中期国际:MT4交易平台介绍:功能、优势与适用范围

在外汇市场中&#xff0c;MetaTrader 4(简称MT4)被广泛认可为最受欢迎的交易平台之一。它具备丰富的功能和独特的优势&#xff0c;不仅适用于个人零售交易者&#xff0c;也广泛应用于金融机构和专业交易员。本文将介绍MT4交易平台的关键功能、独有优势以及适用范围。 首先&…

mt4系统平台的服务器,mt4平台服务器地址

mt4平台服务器地址 内容精选 换一换 Linux操作系统XEN实例变更为KVM实例前&#xff0c;必须已完成必要的驱动安装和配置。当您需要变更的Linux操作系统的XEN实例比较多时候&#xff0c;推荐您使用本节的批量自动配置的方法安装驱动&#xff0c;通过自动化脚本的方式批量为Linux…

vue项目中使用阿里icon库

从阿里字体图标库新建一个项目&#xff08;当然也可选择其他icon库&#xff09; 注意:Font class前缀不要和elment-ui中的图标前缀一样 2.选择需要的图标添加至项目&#xff0c;并生成Font class,下载至本地。 3.选择解压后的文件中的iconfont.css , iconfont.eot , iconfont.…

网站的icon图标与阿里云图标库的使用

文章目录 一、网站icon图标1.使用icon图标2.制作icon图标3.注意 二、图标库的引入1.进入阿里云图标库主页2.选择一种登录方式并登录2.搜索图标并加入购物车添加至项目下载素材 三、压缩图片 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、网站icon…