React Native -this.props 与 this.state

React 单向数据流 react中父组件数据变化引起子组件的变化,形成由上而下的数据流,即单向数据流。 因此,一般在父组件中处理复杂的业务逻辑,子组件展示。 2.  props:一般用于父组件向子组件通信,在组件之间通信使用。 state:一般用于组件内部的状态维护,更新组建内部的数据,状态,更新子组件的props等。 3.  在数据流中,父组件的state 常常转变为 子组件的props。 example:

  原话是这么说的: 组件从概念上看就像是函数,它可以接收任意的输入值(称之为“props”),并返回一个需要在页面上展示的React元素。 4.            

React-事件渲染

一.  事件绑定

亦可采用箭头函数的形式:

二. 向事件方法传递参数 (1)通过参数列表传递

e 即是这个事件对象,要放置在最后面 (2)通过function.prototype.bind传递参数

   

ES6-箭头函数

一.箭头函数 (参数)=>{ 函数声明/函数体 } 等价于 function(param){ 语句1; 语句2; …….. } 或 (参数)=>表达式 等价于:function(param){ return 表达式; } 二.  箭头函数与this变量 在编写react声明周期组件时, 代码为:

其中,tick()是一个组件的一个方法,用于设置date变量的值。 此时,控制台this是这样的 this此时指向的是这个组件。 而在一般函数式声明中,也就是这样的情况下:…

Javascript闭包

闭包的主要有两个作用: 读取函数的内部变量 让这些内部变量始终保持在内存中,因为局部函数一旦执行完毕,就会销毁局部变量。 exm1:

变量a始终存在于内存当中,func3被赋给了全局变量test,而func1是func3的父函数,因此变量并没有被回收。 exm2:

  闭包func1返回了一个函数的引用

返回给了window,当加上( )执行这段代码时,代码引用权限被赋予给了window,this(this即执行上下文,只在代码运行时才确定)此时就是window,返回的就是全局变量。 exm3:

这里返回的那段代码执行上下文仍然是this,但是返回的是 that.str ; 而that是指向对象object,因此,输出的是object里的局部变量str,实现了外部函数访问局部变量。 exm4:

这里的this依然是Window,而打印出来却是内部变量Inner,原因是JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里。    代码在定义的作用域内执行,即inner…

demo

1.demo结构 <inventory-app> || //传入数组 <product-list> || //进行迭代,并显示 <product-row> || 每个商品的badage,又可以拆分成图片,部门,价格等组件。 2. 输出属性,@Output装饰器 这个装饰器用于向其它组件发射数据,常配合eventEmitter使用。 在本demo中,组件先声明一个输出属性: @Output onProductSelected:EventEmtter(); 然后在构造函数中生成(new)一个发射器: 组件中是通过click()事件函数来发送被选中的product;最后使用onProductSelected.emit(product)发射出去。 然后,在组件的html模板中, <rec-comp>标签表示是发送数据的目标组件,因为使用的是click方法,因此(click)=’clicked(productChoosed)’ click是一个内置方法,当点击某个元素(row)时。就调用列表组件中的clicked(produtChoosed)方法,发射数据到根组件, 根组件: <product-list [products]=’products’ (onProductelected)=’productWasSelected($event)’>…

Basics(1)

1.subString(start,stop) substring() 从字符串中提取一些字符 substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。 2. CSS定位 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。absolute定位是相对于第一个static定位的元素定位,如果父元素没有生命定位或者是static定位,此时就不会相对于父元素进行定位。 fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”,…

SpaceX Falcon Heavy Lunch

美国东部时间2018年2月6日下午15:45分,在佛罗里达NASA肯尼迪发射中心,Elon Musk创立的Space X公司发射了重型火箭 Falcon Heavy,它是世界上现役最强的火箭。在人类航天史上也仅次于美国1969年登月所使用的土星5号火箭。 并且完美地实现了火箭一级回收, 除此之外,还顺便发射了starMan,starman驾驶Tesla跑车遨游太空,方向盘下方刻有Don‘t Panic,电路板上面还刻着Made on Earth by humans,根据Elon Musk的说法,它将进入漫长的环绕太阳轨道,至少将在太阳系存在十亿年。 就像’银河系漫游指南’里面一样,满足了多少人的科幻情怀 SpaceX Falcon Heavy Lunch:

Javascript-this总结

this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,  

随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。 下面分四种情况,详细讨论this的用法。 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段代码,它的运行结果是1。  

为了证明this就是全局对象,我对代码做一些改变:

  运行结果还是1。再变一下:

  情况二:作为对象方法的调用 函数还可以作为某个对象的方法调用,这时this就指这个上级对象。

  情况三 作为构造函数调用 所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。