00:00
它这个里面怎么运转的,就相当于把这里面的流程给再熟悉一下,其实就是这个图,我们再想细化一下就行,哪个图呢,就是这里面有个工作流程图。你看到这个图是个结果,画图的时候它是有个过程的,听懂了不是个过程来画一画啊。这是大家必须要掌握的一个能力。嗯,只要reduction。你什么话说不了的话,你也给我画个图。能听懂吧,当画图不是就在画,也不跟人交流啊,是边说边画对不对,好。你说老师这咋画这么多,这么复杂的一个结构,首先画图一定先画整体,再画细节。整体几个部分。两个大的部分,两个大的部分。哪两个大宝贝?React的组件和redux部分。听懂了吧,来看好了。我一上来就画。一个大的框就代表的是什么?
01:02
还有一个小的。是谁的多个组件是不是好来这一个。是react写成过程的components。多个组件是吧,当然我们现在为只是为了演示语法是写的是一个组件对不对啊,当然是,可这可多个组件的啊,好这一个是谁,这整个称为什么。这整个就是对不对,整个是re,注意啊,这整个是。好,没问题啊,那我们是不是将react组件的状态交给管理吧?Java re的谁来去管理了?哎,这里面就有他最最核心的一个对象叫什么使多。对吧,有它最核心的一个对象叫度好,那也就是说我们一上来是不是得去创建一个多对象。
02:04
这能听懂不好,这是不是有点小,大家看的清楚吗?嗯,稍微大一点好吧,稍微大一点点搞成12能好一点是吧。好点吗?啊好,把这个把这个也给它,也给它改一改,这个要改的话,现在把这个给它剪切剪切掉,接着再去输入一个文本。当然大家不用练这个技巧啊,你们去面试的时候都是用笔在纸上画啊,你现在你如果用这个工具画,那你画的肯定比我慢一点。啊,这是念出来的。现在能看清楚了吧,好,那多对象它是我们的一个啊,整个re的管理对象,它里面管理的哪两个东西。还记得不啊,管理这两个东西。啊,一个是状态数据,一个是有一还有一个。
03:00
A reducer。他管理了两个数据,一个是它还有一个什么reducer,当然reducer被它关联着,它是个函数对不对。而这个状态数据,任意类型都可能可能是个基本类型,也可能是个对象。不可能是函数,是不可能是函数,这能听懂吧?好,那创建是多的时候需要给他指定什么,他管理这两个东西,俄state由谁来生成?是reduce生成,那所以一上来得告诉他一个什么reducer,因为这里面有一个非常重要的一个结构,我们称它为什么呢?Reducer。这能听懂吧,是个什么类型?是个函数。能听懂吧,是个函数,而这个函数它接收什么参数吗?数就是几个参数两个,第一个叫什么。
04:03
是不第二个呢?Action。这能听懂吧,好。啊,这样啊,这样我把这一个呢,把这两个给它放到这里,这样能好一点,看着知道有两个两个参数啊好。这是函数,接受两个函数,而它的返回值是什么?新的data对不对,那我创建多的时候,是不是给他指定了一个。那我初始的状态要不要生成?要吧,要,所以说一上来我们的这个湿度就会干一些什么事情。调用一次什么。能听到不调用一次reducer来返回生成一个什么。初始的状态。
05:00
这一次调用第调用是用来称成什么初始状态值。这能这能理解吧。那初三呢,它是不是存起来了。那我的组件里面可以干嘛?可以去读取。那我组件里面去读取这个商呢,用的是多的什么方法来读的。哎,这个地方需要用到十多的一个方法啊,我就写上思多。点什么get stage,哎,放到上面一点,因为放到线上看不太清楚。是不是堵到状态显示。那我的组件可以初始显示了吧?这没问题吧,没问题,好,其实最最关键的不是去赌博数据,读数据,受简单的事情,重点是什么?更新状态数据对不对?那更新靠的是思多的哪一个方法?
06:04
我们组建要想去更新,得调多的一个方法。啊,有另外一个方法叫什么呢?叫低斯派气方法。这个时候这个方法谁的。这个方法是谁的?是不是也是十多对象呢,它有一个方法叫什么,第一是派方法传一个什么东西。Action对象一定要把慢慢我反复跟他念,大家需要去把这些概念呢,慢慢印在脑子里面去。Action meeting。什么类型对象,这个对象类型对不对。那好了,但是这个对象是我在组件里面去用这个大括号来创建吗。不是,它需要有专门的工厂函数来创建X对象是不是?这个工厂函数。有一个专门的名称。
07:02
有一个专门的名称,叫什么名字呢?将action create。能听懂吧,它是用来去专门创建X对象的工厂函数,听懂不?而我们是不是调用工厂函数来生成X对象?接着再调用dispa是不是,而调用PA是最终的结果,是不是产生新的状态?是吧?但通过谁来产生的?通过水来产生。嗯。是不是我们的这个地方啊,是还是一样,它内部我们第二它这个内部会导致于我们的湿度,导致我们的这个湿度会去调reducer吧。能听到不?那也就说这一次至少是第二次或者第三次调用了吧。
08:01
是不是先调用一次,后来再反复调用?能听懂不先啊,我们刚才说过,这里面是不是初始第一次用。能听懂吧,第一段是不是产生了初始状态?这个懂不懂,后面是不是就可能有一个什么。更新调用,那反复调用吧,啊,你后面就反复调用了,这个反复调用是谁触发的。Dispatch。对吧,那反复调动的时候,是不是产生的是一个新的状态。开产呢,是一个初始状态,现在产生的是什么新的状态?最后谁得到了这个新的状态啊?十多呗,因为是多去掉的嘛,那当然是他得到了,对不对,他是不是就存起来了。它存在之后,关键是。春节有啥用啊,没啥用啊,最后是不是交给组件去更新。
09:00
那现在就问你,组件会自动更新吗?不会。他其实产生了新的状态以后,他就马上会甘心事情。通知所有的订阅者,所有绑定的监听的回调,关键是我绑定监听回调了吗?没有对不对,那所以我在前面在做这个事情之前,先得干个什么事情。绑定一个,诶这个时候我们需要去做一些事情。啊,我们需要去提前在组件里面还要写一个代码是吧,写个什么代码呢,叫度点script。这里面传的是一个什么?是不是你的监听回调函数?这个我是在主件里面写的吧。听懂了不,我在组件里面某一个组件里面写的,也不应该组件,我现在其实我是在入口JS里面写的。
10:04
看到吧,哦,我现在是在路口GS去的,反正不是在他这个里面做的,在外面做,因为我要涉及到组件更新,好那这个时候啊,这个时候我如果我绑定了今天那会有一个什么样的结果呢。这一个操作就会导致于他。会什么?会诶,会调用监听的回调吧。会调用他吧。对不,那我们应该在这个监听回调里面干什么事情去了。我们应该去做一件事情。干嘛?这个写个中文,你说写什么。啊,更新组件呢。你说是吧。这里面听到。为什么更新,因为他是不是读了我的状态,显示了我的状态,现在是不是改了,要不要更新。
11:02
要啊。能听到不,哎,原始代码就这么写,当然最终的最终我们真的写项目的时候不这么写。啊,是做了一些简化以后的写法。但是跟大家讲,跟别人讲原理的时候,讲过程的时候,需要讲的是本身它是怎么运转的。后面的语法是一个包装语法,听懂了吧?嗯,这个图是大家需要去自己能够去画。好,行。
我来说两句