00:01
呃,回到我们的这个结构图。其实结构图里面有个东西我们还没用到。哪个呢,这个。Actions。什么意思呢?就是我们现在大家看一下,我们现在是直接自己创建的。我们我们在这一个在这下面啊。打开这个把其他线关了太多了。在这个里面,你看我们每一次PA是不是自己创建了。这不是他的想法,他希望有专门的工厂函数。去创建。啊,而且呢,这个共函数应该定义在这个里面。他是个专门的模块。那我们最好按照他的要求去写对吧?啊,OK,而且这个名字啊,这个名字是固定的叫actions。点击S。它实际上是一些什么模块呢?说一下啊。
01:03
包含所有的,叫actions。啊,CTA。啊,OK,我们说一个action create action本身是对象是吧,一个action crater是什么?是函数吧,是创建action的函数,对不对。啊,所有的都定义在这里面。那你说我们应该有几个这样的函数?两个为什么英文两个action,两种action对吧,一个是increment,一个什么第rement。这个能懂吧,啊OK,也就是说一个什么事呢,我们要有函数来创建它,对吧,返回这个结果是吧,但是你要知道这个结果里面是不是有个变量。所以看看我的action怎么写啊,我先写增加的。
02:02
增加哪个来看到我来写写啊export。啊,来个名字叫假设就叫,呃,叫什么呢?Increment啊,Increment可以吗?啊,其实这个名字有点长啊,但是先用着。OK吧,后面是不是一个函数。用间的函数来表达呗,返回的是个对象嘛,先返回对象,要先写一个什么小括号。对吧,但是我这个对象是不是有一个变量了,你说怎么办。函数体里面有变量,你说怎么办?说明形参传过来呀。他不传过来,我没办法了。这意思不,那有增加必然会有什么减少呗,我们还会有个减少的X吗?那其实写法很简单的。
03:04
这个写什么,第一。能看到不啊,其实我们真正写的时候一般不会加这个create啊,我知道要改啊,一般我们不会加这create,就这么写啊,这个要改改,这后面改改,其他都不要弄,一般不会写这个C,就写这个名字就行。这个能不能懂啊,后面这样写有好处啊。啊,有好处,好。那这样的话,我们是不是定义好了两个action create啊,有专门的模块啊,那由这边我还要这这自己这么写吗?不能。这怎么办呢?啊,引入import大框。对吧,啊,先写后面的点点斜杠redu下面的。Action,好,我这里有多个对不对,有多个吧,而且关键是跟这个名字是不是刚好有点重啊这样啊,有一种语法不大,很少写,我让大家写一写。
04:14
这什么意思,引入啊,我们这一个模块里面所有的子模块,子模块水下是不是就他们了,本来我不应该,本来我写的话是这么写,大家看我写一写啊。就我们平常可能更多的写法是这么写的啊,这里面写什么写什么,这是不是把它解构成了两个变量啊,那我如果就想取一个了,取成一个了怎么办呢?整个它不是一个大的对象吗?那应该是心。呃,取个名字,这个心代表什么?心就代表这里面所有的,这这如果有四个就四个,如果有五个就五个。因为他们是分别暴露,看到了吧?啊,你不能这么写啊,记住了。
05:03
不能这么写。这么写是专门引入这个default。Export default才能这么用。能看到吧,如果我是这么暴露的方式。那必须是这么一,或者是写大框。能懂吗?好。啊OK,搞好他们以后啊,搞好他们以后下面啊,下面我这边该怎么做呀。删掉。干嘛?是通过actions干嘛去点传什么?我有没有number有我怎么可能没蓝呢?能不懂,是不是通过这样的语句来生成一个对象?那后面的什么。都类似,只是我这里面是什么,下面的这个。
06:08
对吧,下面的这个。是吧?那这里就有一个是啊这些东西这个不要了吧,在这边。你看它推下来说明什么,说明我没用到,看到了吗?啊,我要搬哪去了,搬到action里面来,因为有这个不是代表搬到这边来了吗?所以你还必须得搬到这边来,能不能看到。看到了吧,嗯,就这么一回事,那这边我就相当于做的更加的封装性更好一些了。啊,不用去管这里具体值到底是多少吧,啊,由他来管理。你们看到啊,OK,好,做完这个事,还有一个事可以做一下。
07:00
什么意思呢?大家看看我们的那个store对象是不是也属于的?但是我们石头现在是不是在这个index里面创建的,这样不太好。应该做的比较好,应该怎么做呢?在这里面创建一个JS,叫什么名字呢,是不。能不能看到,其实就是把部分代码搬到这里来,哪个呢,这个搬过来。看到吗?这个它创建的时候是不是需要这个reduce函数反过来。能不能看到好下面啊,下面我就可以去把这一个部分来看了。再一个。是不是产生一个石头对象呢?生成一个石头对象放到这边来,最终我把这个石头对象改成什么暴露出去,一错的第错的45用方,因为就这一个用DEF破T是最好的。有没有看到?好,我这边就清爽很多了。
08:02
我干嘛引入,看到把这个引入import store from,点斜杠,Re。十。那这个没办法必须写这因为需要认嘛,对吧,后面是不是使用词多呀。啊,OK,这样封装性是不是更好一些了。那也就是说,最终我就是为大代码固定了。这么四个文件啊。其实他的他的那个他的那个原原始设计里面不是这么整的,他是把这一个搞成一个外面文件夹,把这个搞成一个文件夹。啊,搞得挺费劲的,我是觉得就是大家统一起来管理,其实这个思想呢,借鉴了什么?既然是我们view啊,后面要讲一个东西叫VX。啊,他的设计思念就是希望你这么写啊。其实VX是在之后产生的。
09:01
在之后台上有好处。他会去借鉴他的思想,同时呢,去避免他在设计上的想法上的一些不好的地方,做的更加优良。但大家还没学过这个是吧,那我学过了啊,所以我需要啊,教给大家是一个啊,改造以后的,改善以后的一个好的结构。啊,就最终就让它能够有更好的一个风格啊,更好的一个风格啊,OK,固定的以后我们一旦用这个先创建文件夹,把这三四个文件先创建来再说,这样就更加模式化,说白了。啊。好,我们先来看一下,我们当前改了以后还行不行是吧,你说了半天到时候不行了,那不扯淡了吗。啊,就不行了是吧,OK来看一下啊,看一下这个引用的弟子关系不对了。在这个时候里面,我们引入这个reduce啊,其实就是当前下面的。
10:01
因位置改了吧,能看到吧,嗯,好。来吧。走,你走可以吧,去走。不行是吧,再来一下可以吧,哎,一点问题都没有。这样我们就把这个里面涉及到结构是不是都用上了。好OK,但并不是说啊,老师这这这挺简单的,我们都学会了,但是现在还不是最优良的一个版本,其实这里面说实话并不算特别好,为什么呢?因为我们的组件里面跟这个redux代码。它非常强烈的耦合在一起,其实我也老用使用这个store对象对吧?啊,我能不能不用store对象呢?其实是可以的啊,就是要用上一些其他的插件。好,大家先把这个给大家看一看啊,我们下一步呢再去优化。来。
我来说两句