00:00
还缺点东西,还有工作没完成一步。什么着啊,异步什么概念呢,也就是说我。一上来这个这个reduce里面的这个,它应该开始是一个什么空数组。对吧,啊,这个给他注意一下啊,怎么有用,能不能看到。开始是一个空的,后面我是不是才能够去做呀,那也就是说我要在X里面。是不是要写一个异步的X,大家看看OK,异步X异步获取啊从后台。获取数据的action获取数据吧。来写啊,Export取一个名字,假设我就叫get comment。
01:06
可以吧啊或者是required都行啊,我需要什么条件吗?说白了我去,我是请求的是所有的数组,对不对,我不需要什么下标,也不需要什么标识去什么,所以我的这个就是个小括号,里面不传任何东西,看完了好,接着来个箭头。对吧,哪个大框写一个什么美特,里面代码其实很固定,我告诉你啊,Dispach。能了吧,箭头。大括号,这个时候就可以写异步代码,也就是说我现在要模拟什么发送请求,异步获取什么数据是吗?
02:00
这周怎么办?Out呗。对吧,哪一个建立函数,不管他需不需要,先来一个再说。穿一个什么?1000。好,这个里面这个执行那数据就要得到了吧,啊来我们刚才啊,不整过一个数据吗?就这一个。把这个数据给他什么拿过来。数据得到了吧,下面我们是不是要提交一个分发一个action,分发一个同步的什么action。这个安全是不是让他接收我这个数据去了。这个能不能好来吧。DC。派。是不是要产生一个action action不能自已直接创建,是不是要通过一个同步的action create的函数来创建?这这两个合适吗。
03:00
是没有一个合适的。对不对,得再重新的什么。是不是写一个。好,这一个是什么呢?叫同步接收啊comments就他是要接受我的控制,因为控有了嘛。哎,这个名字不太好是吧,这个名字已经拍到了。杨科长。好,来吧,写个export。那就写一个写一个,我写一个名字叫receive,接收嘛,接什么comments,看到吗好。要不要接受参数你想嘛,他要接受科目,你给他传嘛。干嘛那一个同步的啊,那个action必然会对应一个type。新的太保能不懂,好,我可以先写上啊,大家看一下这个写个名字啊,写什么名字。
04:06
那肯定是receive_comment比较好嘛,跟我的对应是吧,Date值是多少就comment呗,比很大,那这个时候就涉及到一个四啊。在这里面定一下吧,在这里面去定一个是吧。走第一个。妯娌一个。小写是吧,好,接着在上面稍微写个注释,这是一个什么呢,就接收。嗯,诶等一下啊接收啊评论什么数组吧,能看到吧。好。来下面啊,我们来回到我们这里面看看,那下面定义好它以后就很好办了。直接什么?
05:00
掉呗。传什么呀?你们看吧。多长狂蚊子,给他吧。看到不好,那我有了一个新的type,那我的这个reducer。要不要处理啊,你肯定要啊,有一个新的X了,对不对就加对,其实你只要找到套路,你就知道这东西一加哪些地方需要写东西,都是固定的。啊。那我是不是要再加一个什么,是不是加一个case。对,不写他。是不是我,也就是说我是不是要产生一个新的状态数组,其实这一次无比简单,为什么说无比简单呢?够了。你不是要接受一个新的状态吗?那宿主就是新的状态呀。你的状态就是个数组,你说我交给你一个新数组,你是不是直接返回就行。这一下是很简单一个。
06:00
看到吗?嗯。你要一定要知道我们这个reducer是干嘛的,对吧,是不是要返回一个新的状态。而我这个X是不是交给你一个新的状态值数组嘛,交给你新数组,我不是交给你一个对象啊,我是交给你新数组。就让你去显示这个新数组。对不对,而这个新宿组是不是就成为了你新的状态?这个return就是新的状态。比如说老师说你你不超过他吗?你不要超过他一下吗?我管你以前是多少,你你其实这个一般情况下这样返回说明开始的时候是没有什么数据的,对吧,我交给你一个新的数据,直接交给你新的数组啊,让你显示跟以前的数据有关系吗。没有,你以前是多少,我不管,我扔给你一个新的数据,你当然显示我这个新的。啊,这个时候就非常轻松了。
07:00
好。但是有一个事情啊,这个操作如什么时候触发,如何触发呀,我天。是不是来看一下啊这个操作。这一个操作,也就是说我们的这一个action里面是不是多了一个操作叫什么呀,啊叫。不是这一个,这个还有一个事情,这个receive没有必要暴露。这个。没有必要暴露。他比较特别。能不懂内部使用就行,外部不用看得见,因为专门是给他用的。懂吗?人说老师,我暴露有问题吗?没问题,但暴露你让外面看得见,外面是不是就有可能犯错误啊?他就可能写。你看你这次你再去整。啊,还有那个吗。没了,那他就看不见,外面看不见是最好的,因为你不希望他看得见。
08:04
这个能不能懂啊,OK,好,而这个函数。我会。再传给我的AP,也就是说这个操对应的操作,我们是不是一上来就应该做呀。是不是?那你说我咋做?就在这里面干嘛去this.props点它调用就行,当然这里面最好也什么。是不是声明一下。看着吧。啊,其实没有这东西。我会报错吗?不会,只是说你写的是不是更加完善,更加完美。啊,OK。说白了这句话是在干嘛呀,是一上来我就是不是相当于是不是获取获取这个评论的数组,但是这个实际上是个异步的操作吧,啊OK。
09:05
评论数组所有评论数组。真的吧?但是有人说老师我没看到一步呀。你你这不是个同步的方法,这一看这表面看就是同步方法,我根本就没写一步代码这边外面。我们说过了,这个异步代码应该封装到个哪个里面去,里面这不封装了吗。就是一个好的应用,它应该一个好的东西应该什么。尽量让上层的代码更轻松。能不能让你底层代码做的更更好,更完善,最后上层应用写的比较简单,就好像说你是不是希望写了一些比较好用的库,好用是什么意思?就是就是我写一个字母好了,那最好的是吧,那是有点说过头了,但是这个意思对不对,我最好调一个方法,什么是搞定。
10:02
那就很很爽了。就任何的库,任何的库设计出来都这样一个思想,就让你做更少的代码,能干更多的活。还记得那个几块有一个。宣传语。Less do more。啊,血少做多。啊,其实这是所有的库。的思想,只是这这句话已经被他占用了,其他人就不说了。好,来,我们来看一下我们这个义务有没有实现。可以吧,可以。能看到吧,啊,后来过了一秒钟才显示。这里面我就跟大家演示了一下,最终我们去写下面的时候。该如何来居住?就是刚才的过程就是一个套路啊。
11:01
但是呢,有一个问题啊,我们现在是基于我们的项目是改造啊。啊,所以我们真实信息相是不会跟我们现在完完全一样啊,基本上差不多,因为我们现在很多东西都不用改了嘛,都有。是吧,啊,这里面你看啊,这三个我根本就没动。对吧,这里面啊,他就这里面要记住它的一个思想,就是UI组件和容器组件,其实这个思想挺重要的。啊,OK,这是UI组件啊,这是容器组件,那容器组件呢,就需要用到redux相关的一些API,是不是去包装啊。嗯,OK。是吧,在这里。好了。那这个地方呢,要还说我再说一个,再说一个点吧,再跟大家说一个点啊。我前面一直在说一个事情,就是在说我们里面是不是有可能有多个函数啊,但现在做来做去我们一直是什么。
12:04
一个,那如果是多个,我该怎么做了啊,这个就跟大家演示一下,假设我把这个我们的这个。嗯,其实我没有啊,但是我可以把它强制的搬过来。就这一个假设,我还有他。现在我就有两个了吧。能看到吧。有两个呢,比较原始的做法,就像现在这么做,分别暴露,这样不太好啊,这样有一个问题,也就是说大家想啊,现在我这种搞法,我是不是有两个函数。但是现在我就管了一个。你看我就管了这一个,另外一个管理了吗?没有管理能用上吗。用不上对不对,那如何我能够管理多个函数呢?啊,这一个得用到另外一个新的语法,大家还没有接触过,我得给大家去啊写一下啊来。
13:05
这个里面要引入一个东西,我写大家应该能明白一点,因为大里面还有一个方法,我们还没用。啊,这基本上是我们最后一个叫,啊叫什么呢,叫这。Combine combine辩什么意思?整合,整合什么意思?合并,合并多个放在一起管理。那么呢,它其实是一个函数。看到这一次啊,我会做一件事情,把这个里面所有的这个函数的一个错的都给它干掉。干掉他们。因为我要统一的暴露。明白懂,好包容什么呢?这么写啊,固定的。暴露的是它啊,要用它的一个结果,它的结果其实也是个函数啊,大家管理的是管理东西放在这个对象里面写什么呢?其实很简单。
14:05
就写这几个,这两个名字。就写这两个名字。固定的其实就是固定的写法,这就说白了就是啊。指定属性对应的属性最好是同名。能不懂最好同名,因为同名就不容易犯错误,你要不同名,有的时候还要想很多事情。好,那现在啊,现在我如果这么写,以后我的这一边就要稍微的改一改,这十多里面。你想看这还对吗?不对了,此时我应该直接引入一个什么reduce。对不对,因为我是default暴露。
15:00
看到吗?啊,OK。看不懂吗?啊,也就是说我现在能写大号吗。不能。就只能写他,因为default暴露吗?我还能得到某一个函数吗?那么不能,你得到一个函数,那也不行,你要管理多个对吧?那此时我要管理的是不是它。能不能看懂?那下面我要说,一旦管理它,那我的向外暴露的状态是一个什么样的结构呢?你猜猜啊,也就是说我们整个redux是不是相当于有一个get state的方法?你说啊,Redux向外暴露了是个什么结构,Redux啊向外啊,暴露的是个啊,什么结构啊,这个很有很有。很重要。大家的。啊,其实是一个对象。
16:01
对象里面呢,有两个属性count。什么呢?它是一个数值。假设我随便写一个啊,我随便写一个啊,而这个comments。是另外一个属性,它的值是多少呢?那看实际情况啊,最终肯定我写个表一一下就行。能看到我。也就是说我这个redu向外暴露的暴,向外暴露的state是个什么结果对吧。根据什么来决定?是不是根据它的结构来决定?懂不懂?那而这一个这一个属性啊,就这一个的值。拉取是不是他呀。他们对应的返回的状态的结果是不是放到对应的属性上面去。看到吗?那这个变化以后,我们的那个APP也要变。现在对吗?
17:01
现在对吗?我们说state是一个对象,对象里面是不是有那个。对吗?不对呀,因为我们现在有两个状态,对不对?你想想看,我要管理两个状态,是不是用个对象把这两个状态包起来呀,那下面我是不是要取某一个状态。怎么办?懂吗?啊,OK。因为真实的应用肯定有多个状态。就肯定有多个reducer。你不可能就一个reducer啊,基本上是不太可能的,所以现在我们基本上就在写了一个基本上真实的,所以说我们现在其实这个用是什么。没有啊,但是我们需要表意一下,大家知道。啊,就行。啊,所以基本上啊。
18:02
到现在为止,我们该讲的东西就全部都讲完了。
我来说两句