00:00
回到我们昨天的,我们昨天呢,写的这样一个计数的一个效果是吧。首先还再次强调遍,我们这个功能本身需要大什么。不需要,但现在我们主要是研究语法,所以我们要尽量用简单的应用来去写一写,是吧,搞太复杂了不太好,那重点就被转移了。好,昨天我们已经写到哪了,我们来去看一下啊,看一下我们昨天的,昨天我们是不是已经用上了一个库叫react re。对吧,它有两个语法,第一个是不是就是这个主页。这个组件必然是写在我的最外层,而且接受一个什么对象是多。那也就说斯多还用传给APP吗?不用,是不是直接传给就行。是吧,而且我还把AP做了一个拆解。做了一个拆解,诶,我们的界面显示与用户交互是不是单独写成一个组件,我们称它为什么组件。
01:04
UI组件,这个组件是需要这么三个属性,第一个需要显示一个数量吗?看是不还需要有两个用于更新数据的函数。一个一个什么这个不懂。那你说这个UI组件里面有显示的使用redu相关的语法吗?没有,是不是一个很纯洁的很纯粹的一个组件吧。能听到不?能听懂,当然这个时候就是一个问题,我如何给他传这三个属性嘛。能听到吧,那这个时候需要一个函数来帮我们去实现,哪个函数呢?看那的啊,那刚才我们已经说过了,看那的是用来干嘛的。最终包装UI组件,生成什么容器组件,而我们渲染的是谁?
02:05
容器组件版。能听到不,我们渲染容器组件,那容器组件包装UI组件是为了给他传递什么东西?是不是传递刚才UI组件需要的这三个属性?而这三个属性,这个数据来源在哪里,比如说这个看的。是不是要从?是多里面去取那个状态数据啊。对不对,而这两个函数里面是不是得去分布X。这能听懂不?我不接受两个函数吗?我一点那个,点那个加号,或者点那个减号,最终我的大里面状态发生了改变。并且组件是不是也会更新显示?靠谁就靠这个。Connect。只是说看的语法稍微有点费劲,来,我们再把这个写一遍。
03:00
再把这个写一遍啊。它的基本格式很固定,主要是后面的理解是不是这么简单。我们说看那的是个高级函数吧,它执行返回的是不是就是函数。而且这个函数还是一个什么高阶组件,接收的是哪个组件?啊,UI组件,也就是我们当前的一个组件。AO吧。那它这个容器组件内部就会渲染这个connect这个UI组件,关键是我要确定给他传递三个属性是不是。有一个一般属性。有两个什么函数属性对不对。这个地方它的语法是通过第一个参数来去决定,第一个参数来决定向指定啊。指令向account传递,传入哪些一般属性能听懂不?通过第二个参数来指定,像看的传递哪些什么函数属性,这能听懂不?
04:19
而这个地方啊,这个地方,这个地方它两个参数名字很有意思,有点长,名字有点长,我写一写啊,一个叫map state to,虽然说长,但是是有意义的名字。是非常有意义的名字,如果你搞懂的话,你就会知道这个名字是取得特别好的。第page to什么pro。能不能看到Mac什么意思?映射。那也就是说上面这个意思,就是将state里面的数据映射成什么属性,传给看看吧。
05:01
是不是,那下面这个意思是什么呢。将包含pach语句的函数。再说一遍,将包含派调用的函数映射成属性传递给什么UI组件,别人名字取的相当好。而第一个参数是什么类型的?什么类型?只能是一个类型,就是函数,而且这些函数不是我调听懂不,不是我来调用,而是他们自己调的,听懂了吧?解决回调,那回调函数接收什么参数,是不是由他来指定的?我们这个是用来去指定一般属性,而属性值的来源是谁?就是谁。Store中的什么?
06:02
这能听懂吧?那你想啊,他是不是要把state交给你?这个能不能理解?可不可以?对不,呃,返回值是个什么意思。是一个对象类型,听懂了吧,而对象里面去指定哪些一般属性要传递给UI组件。听懂了不?那我们当前要传递一个什么属性名的属性。名字不能随便瞎写啊,而值是多少呢?值是不是我的状态数据里面的值?只是说是我的这个状态值呢,还是说我内部的某一个值,这叫你要知道我们当前X管理状态到底值是个什么结构,清楚了不?我现在管理的状态的值啊,本身就是只是一个什么呢。
07:00
看看子。就是一个数字。这能听懂吧,他没有非常复杂的结构,不是个立项,也不是个数组,对不对,就是我要去管理的这个抗值,听懂了吗?那这样的话,我直接就应该写什么呢。对。这能听懂吧?这个时候啊,是去读这个值吧,读这个变量的值啊,也就是一个数值12345的值。这个应该问题小一点,这个还好。这个没问题吧。没问题,好难就难在第二个,第二个第二个这个啊,它有两种类型可以写,先写原始类型,原始的写法,原始的写法跟上面一样,跟上面一样,也是返回一个什么呢。对象。能听懂吧,只是说对象里面是不是得是一些方法。
08:04
因为对象中的属性,但是啊,对象中的属性是不会传给他的。值属性值是什么?我们说我们下面是不是有两个函数属性需要传递,名字是这个名字吧。值是函数吧。那说明我这个对象里面只能是方法了吧。咱说方法跟属性的区别在哪里?方法什么样,什么样方法跟属性是什么关系?方法是一种特别的属性,特别是哪样?属性值是个什么函数?那也就是说当我属性的属性值是个函数的时候,我不再称为属性,而称为什么方法,那我就称它为属性行不行?行,就说你这个人是一个特别的动物,对不对?我说你是个动物,你难道还拒绝吗?
09:06
能听懂不啊,就是这个事情吧。或者说我说我说你是个东西,你还难道还还不承认吗。那你得承认啊,对不对。啊。啊,这是这个,所以说别人说你不是东西的时候,你要强调啊,咱俩都一样,都是东西就行了是吧。啊。好,那么这个时候啊,这个是要说我们要指定的这些方法,它的名字分别是哪些名字呢?这不能随便瞎写。这是一个吧。能不能听懂,右边肯定是函数吧,我先写的啊,里面时间等会再写。嗯。这个能不能听懂,那这两个,这两个是不是作为函数属性传递给看。
10:02
有没有问你?那也就是说我在里面调用的时候,我不调用了,调用了吗。第二呢,就他们俩了。没问题吧,那这个时候就要说了,这里面这里面得声明什么。行参吧,因为他传了什么十参number是不是,所以我应该干嘛呀。是不是写number?这个能看到可以吧,可以好了,那函数体里面最重要干嘛,你得想想看,我点击加号,它要干嘛去追踪。是不是要去通知去更新状态去。要更新状态必须调用时多的什么方法?不是吧,要去更新他的状态。是不是PA是不调dispa触发丢调用返回性的状态了?
11:05
能听到不,而我们的是去监视状态改变的是吧?这能听懂吧,那这个时候啊,这个时候我们这个里面是不是就必然需要去调用dispach这样一个函数。是吧,肯定叫吧,他并没有将直接交给你啊,他是将这个派交给的。这个dispa就是多少的dispa。能听懂,而我们第要干嘛去?是不是要去传入一个action对象?那请对一下哪来的呢。我们不是自己手动的创建,对不对,不是这么创建是吧,而是干嘛。是不是去调用action create的某一个函数去产生。这里面接受一个什么?那么这一个函数执行返回的结果是不是就是一个X对象?
12:04
看到吧。听懂我意思吧。嗯。那同理呀。是吧,同理,我的这一个是不是需要去调用什么equipment吧。看到了。这是不是一个现在啊,我们啊用的是函数的语法去写的,对不对?第二个参数传的这个函数,而如果你是函数呢,它会调用你这个函数得到一个对象,对象里面的方法作为函数属性传入我的UI组件。这个能不能听懂。这个地方需要去注意啊,需要注意啊,如果是函数。
13:05
会啊,自动调用。这种调用这个函数啊,调用得到啊对象。将对象中的方法作为。函数属性传入哪个?是不是UI健康能听懂吧?啊,就这样那好了,那它的简写方式是怎么写的。来,我们来先说简写方式,就收简单了。把这个。写在这里等于一个什么呢?对象,对象里面直接放水了。反正两货。能听到包放action crater。
14:04
那这个时候就要说起说一个事情啊,我还是在什么,如果是对象啊,如果是对象,看我这个表达对不对啊,如果是对象,将对象中的方法,这个对象里面是方法吧。因为它的值是函数嘛,是不是来将对象中的方法作为函数传递UI对吗?这句话描述的。说白了就是将这两个函数。将这两个函数传递给UI组件。对吗?不行吧,你想啊,你要是把他们俩直接传进去了,我在UI组件里面一调用。丰富IP了吗?分发了吗?这没有啊,这哪有分发了,这不就是,这不就是反馈一个对象啥也没干吗。
15:00
能听到吗?这样肯定是不行的。这时候不是这样的,这个地方要说一个事情啊。来看着它是将对象中的方法。封装成啊,包装在。一个。啊。函数类。包装成一个函数。一个新的函数换成一个新的函数。嗯,并传入UI组件,什么意思?其实非常简单,就是包装成这样的函数,这个这个包装成它。这能听到吧,这一个包装成它。内部才教的这个是不是这个要注意啊,后面呢,我们会去用编码的方式自己去实现,看看到时候大家能不能搞定。
16:09
好,当然我们写的时候也不是完全这么写。嗯,一般怎么写的几率会更高呢?就直接在里面写。什么意思?我来写一下大家就懂了啊,那这写吧,Port。那我现在啊,再来个看的括号是吧,就在传了什么看啊,其实真正自己写的时候呢,难度并不大啊,就是理解的问题。是不是两个要谈啊,结构很固定,把这个结构写好。看好了,来,我给大家写一写把,这诶这个是不是小裤。
17:06
把它干了啊来,这是一个箭头函数是吧?一个箭头函数接着一个对返回一个对象。好,里面再来一个,这第二个直接来一个什么呢?对象说白了,一上来咔嚓一下,把这个结果摆出来。能听懂我说意思不?那后面怎么写,就要看你要传递哪些一般属性,要传递哪些函数属性。传递一外属性去读取状态显示传递啊,这个下面的属性是为了去更新状态的。来,我来写一写,我们不需要去看的吗?只是多少贝,我们不是要有两个函数的吗?一个是rement。一个什么D,这里面就有一个要求,这一个名字要一致。刚好就一致的,我在里面接收的两个函属性名字是不是这两个名字,而我的action create里面的名字也是不是这两个名字。
18:10
能听到不?那名字要一不一致的话,那你就要去,不能这种省略的写法。最好一日,这样比较方便。最终我们就是这么写的。诶,这地方counter写错了吧。写成了是吧。那么呢?那最终我们就是可以进行使用的,如果还可以用,就说明没有问题。可以吧?可以啊,这个重点是把这个搞清楚,其实这搞清了,其他的就没什么难度了。
我来说两句