00:00
写一个我们自己的reduction的库,这样啊,看到我我在src下面啊,我去创建一个文件夹叫nes。这个尼S用来经常用来放什么呢?放一些库对吧?放一些库好这个里面我要建的是一个什么库呢?我为尔的库先创建一个文件夹,就叫re啊,就叫一个re,能不看到好,而我的库里面呢,我现在就提供一个根根文件根模块就叫ind减S来这里说一下,这是啊库模块模块。好,下面啊,写之前你再想想啊,想一些东西什么东西呢,这个模块到底是一个什么类型的。什么类型对象对吧,这个对象里面包含了一些什么东西呢。
01:04
对吧,包含了两个方法,记得吧,第一个呢,我们叫它什么create多,第二个抗病啊。这能不懂,而且还要知道他们接受什么样的参数,这一个接收一个什么是不是,而这一个接受的是什么一个对象,对象里面包的什么呢?Reducer,那我就是说它接受的就是reduce。包含多个的对象对不对。这个能不能懂。啊,这个很关键,那那你如果不知道没关系啊,我们可以去让大家看一下使用的时候怎么使用,使用不正常使用的吗。我们的用法,我们在这里面使用,哎,我把这个使用写在这里,是不是用了。
02:03
这个实际是一个reduce,我这里面就比下来,能不看到我用就这么用的吧,哎,我这刚刚跟他一样的。是吧,啊,刚好跟他一样的,那你看接着看这个啊,这个这个使用的时候是在哪个里面使用呢?在这里我们不写了一个这个吗。我们是这么写的,这么实际上大家看的是个什么对象?这传统是个对象吧,对象里面包含的每一个都是个什么?每一个不都是个R吗?是不是每一个都是个reducer,这不can't reduce什么这message吗?那么呢?好,来简单说一下它啊,接收一个什么叫reduce函数,返回一个什么对象,是多对象对吧?好,而这一个呢,接收一个包含多个什么reduce函数的对象,返回一个reduce对象,Reduce函数,新的reduce函数。
03:28
强调一下可以吧,可以好,别的我也不搞了,请问现在我要把结构,大概把这个把结构写出来,该怎么写呢?我是要分别暴露两个函数就可以。怎么写?方写谁store?接受一个。对不对,再一个port的方。
04:07
写一下哈。对不对,接受一个接受什么,一个小时对吗。没问题吧,没问题,好接着再说返回,再把返回给确定一下,这个返回的是什么,一个十多对象,哪个对象。对吧,而且我们还要知道失落对象。有哪些东西对吧?啊,十多个对象里面包含了三个方法对吧,Get state。还有什么洗action,还有什么scream对吧,接受一个什么可以吧,啊就是这个好没问题啊。
05:10
来,那大家看看啊,我们这个时候来说一下,呃,简单说一下这个这个是得到内部啊,内部管理的什么啊,State state对象对吧,这能懂吧。就是管理状态对象嘛,好这个呢。分发谁X是吧,分发会触发水六会对啊,我这里面这个描述很重要,很快就转换成代码啊,会触发reducer调用。懂不懂是不是产生一个什么新的状态,对不对啊啊,返回一个什么新的状态,而新的状态啊,大家返回一个新的state吧,新的状态一旦产生。
06:10
会调用谁去啊,对调用所有绑定的设啊,谁的listen或者listen吧,Listen就是个回调函数监视器能不懂好这一个是在干嘛。本来这个是叫叫什么意思吧,订阅啊,那我就写订阅吧,就是绑定啊,订阅一个什么啊,监视器啊,谁的监视器,State的什么监视器能不能啊,OK,刚才这里面已经说了,我再说了啊好。来啊,下面我要写里面结构,那也就是说这个里面应该有这么几个东西,一个。
07:03
两个三个。对不对。只是我这个东西是不是要前面要什么,是不是定义好这每一个都是什么类型函数,这不很好办了吗。先把你看我现在都写结构,写结构非常关键啊来。把他们写出来。看不懂,真到吧,好,这个里面还有参数要写一下,这个有参数吗?没有这个,而且这个你了对吧。有没有你美女啊,刚才我们前面说过,我们这个内部是不是管理了一个什么东西,管理了一个什么东西store state对不对,管理的一个state大家看看。
08:08
啊,内部。State。好,那我怎么搞呢啊,这个值会变的对不对,所以我不能用can懂不懂我得用什么,对吧,谁呢,是是开始没有值,但是啊,还记得它的值什么时候初始化的,一旦调用这个函数,它是不是就会产生。这个怎么产生呢?看到这里我调用谁去产生性初始的state调用它嘛,啊就这意思,大家看到吗?我写了再说。对不对,而且这个是不是指定一个,哎,这个是个安全对象嘛,是吧,你调出留守不是安全对象吗?第二个参数,而且有一个什么太好。
09:02
对吧,T的值比较特别,我不知道大家见过没有,刚才啊,什么at我自己写一个啊,啊mini啊gun re吧,就写个我自己的。能不能看到啊,这样的话是不是得到一个新的状态,你说老师万一他这个函数没有返回新的状态,那不就是他写错了吗。我们写的所有的是不是都要返回一个新的状态呢?必然的,那接着这个是干嘛去第一次调动reducer啊,得到什么初始状态并什么保存,保存在上面吗?对不对,好好啦,这一个这一个也太简单,这个方法一个一个这孩子一个实验,这个怎么搞,无比简单,我这不有吗,给你,你要不要你要给你。
10:07
是这样的吧,就这么简单。好,下面是这个。以及这个先写这个啊,因为上面这个要依赖它,这个是在干嘛,是不是定阅一个啊,State监视,说白了我就是要把这一个监视器的回调函数是保存起来。你你这现在它会调用吗?不会,是不是将来就用,将来就要调用,你想想看,你不要存起来以后怎么调呢。对吧,刚才我说的事情,我可以多次调用。我也就是说我指定多个listen listen12345对吧,那我内部用什么东西来存呢?对吧?啊内部用什么来说,内部保存N个N个。
11:06
啊,Listen那得表什么呢?数组可以吧,这个数得了来,那我这个地方看到我我这次用看它本身不会变哪一个listen啊,那是数组。你说我这里干嘛?非常的简单,说实话啊,点什么push进去。现在我掉吗?我执行这个回答函数吗?不能执行。对吧,不能执行,什么时候才会执行呢?产生新的状态的时候,也就是调用它的时候。对不对,那现在我一旦ction,我应该干嘛去。
12:00
说说是不是要调用reducer是吧?我们刚才说dispach不触发调用吗?这不懂啊。我去派一执行分发action,最终是不是需要调用reducer?User是干嘛得到一个新的什么state记着干嘛保存上可以吧,接着吧。我是不是产生了个新的是对的,那干嘛去调用所有啊,哪个所有的这个里面。中所有的监视回调函数对不对?也就说老师你以前不老说回调函数不用我们调吗?现在你转变了一个角色,你现在写库啊。
13:00
能不能你去选库回来还是就你调。嗯,好,这个好做啊,这个倒是并不难,你看呢,我们去调用reducer reducer了。这不是吗?是不是调用啊,调用就调用,怕什么传什么。状态,状态呢,第一个参数是状态有没有。我有没有状态?老师我没有咋没有了,我内部就有状态啊,传进去了,第个传传什么X型,X型我也有啊,你不传过了吗。得到一个什么的状态,我得把它什么存起来啊,那我怎么写。很轻松的事。对不对,好下面。我要去调所有的,那我去干嘛便利呀。
14:01
对吧,拿到某一个呀,干嘛去调用啊。那这个就是我们啊,用来去干嘛的,分发action的对吧?啊分发action,这是我们刚才说的一句话,这个话其实就可以啊翻译成我们下面的代码。那也就是说现在我们啊,就把这个create store给实现了。好。这一个先别写,这个有难度,这个难度更大啊,这个难度其实代码很少,真正写下来估计也就六行六七行代码啊,但是虽然说这个代码多,但是这个好理解一点,来,我们先不写下面的,先把这个用上。先用上它,你知道这个怎么用啊,怎么用哪里再用上了credit store切换过来就行,什么意思。
15:03
我们看一下,我们是在。这个十多这里。是不是掉了,可是多来把它注释一下,改改引入的方式是吧?啊点点斜杠啊neighbors下面的re。是不是有一个亏的说。就用我们的规律是。啊,看看我们这个工程效果还行不行,还行就没问题。对吧,好来刷一下。诶,看这个。这是我们的吗?好像不是这个是这个前面的对吧,还前面的,那说明这些前面的是别人掉的,是开始他其他掉了,看到我们的。有没有?能看到吧,有的啊,有的以后啊,这前面的这些开始的不用管它啊,这是他自己整的事情啊,我们来看一下我们的接着啊,指定的三。
16:09
加完了来看一下他说什么。他说this.props.do点什么dispach,哎,他说这个这个dispach is not a function。我是多的PA不是一个函数,我这个是啊,我咋不是呢。我这不是一个。对吧。我这是一个吗?这是这这个我当前他,呃,他是不是我看一下我们的这个。This pro.is function我在哪里去A点14号啊,我来看我拼错了吗?这个吗?来再拼一下啊第啊,那就对应的改呗,啊这个还多了一个T是吧。
17:15
是吧,好改一下啊来。先刷新一下,接着啊选三八走,各位是不是可以用。可以吧,这不就叫我了吧?但是要注意啊,跟刚才一样,它也是要是不是两个reducer都要调用啊,两个reduce都要调,我们是一个有整体的一个reducer嘛,整体是包含两个reducer呀,一旦触发它调动的时候,它是在内部会去调这两个,这是我们后面要写的一个逻辑啊。那下面的应该也一样,你看。可不可以,可以。
18:06
就这一个。其实这个啊,你只能搞清PPT啊,不算特别难的一个东西,就是按照那首先你要对它整个模块有一个比较好的理解。就模块里包含哪些东西,哪些语法跟语法干嘛的,他们之间关系是什么?啊,下面后面就是一些练习熟练的过程。估计有同学现在还是一个比较蒙圈的状态,就觉得我靠这东西怎么想出来的是吧。
我来说两句