00:00
好嘞,各位,那刚刚呢,我们写的是redux完整版,其实大家把第三个学完了呀,你就完全可以在react应用里边用去统一的管理状态了,其实流程已经都打通了,一个最基本的使用已经形成了,但是光学这些呢,还不太够用,因为里边还有一些高级的操作。哎,所以说接下来我们先讲第一个比较高级的操作叫什么呢?叫异步action。哎,写好了啊,异步。然后呢,Action好。说老师,啥叫异步action呢?我先把这些概念跟大家说那么一小下。跟异步action相关的概念,还有另外一个啊,叫同步action,哎,同步action。说老师action这玩意儿还分同步和异步,是的。
01:03
回到图里边来看。图里边其实根本没有体现啊,说action同步还是异步的。同步的action和异步的action怎么理解呢?来按照图中的体现,同学们,你捕获到了一个信息。就是这action呀,它不是什么高大上的东西。它就是一个GS里边。Object类型的一般对象对吗?这是你从图里边捕获到的,哎,信息啊,说action不是什么高大上的东西,之前老师也这么跟我说的是吧,老师说这东西就是一个GS里的object类型的一个一般对象,好。同学们,我告诉你action。还可以是第二种值。什么值呢?就是函数。哎,写好。
02:01
第二种值叫做函数。我们管这种一般对象的action叫同步的action。我们管函数类型的action叫做。异步的action。为什么非得管它叫异步的action呢?你先记着,马上就给大家解释。那最后再强调一下同学,如果是object类型的一般对象。啊,这种action,那它就是同步action。那如果action的值是一个函数,那么这个action就可以被我们称之为异步action。啊,所以说同步action还是异步action,我得看你的值是啥,你是一般对象你就同步action,你是函数你就异步action好。这个概念给大家提出来之后呢,我们开始提一个小需求。
03:04
回到页面当中。打开一个新的页面。打开。刷新一下,嗯,它没运行起来吗?回头看一下运行起来了呀,诶出来了可能反应慢一点啊,控制台开好。我问一下这功能咋实现的?亦不假。老师这一不加忘了来看看代码,走,回到代码当中。找到s RC components找到组件。找到那按钮啊,老师在这呢,一不加。老师,完了你一点吧。这就increment s啊对,就调这方法,那找到这方法呗,啊老师就在这儿呢。老师完了,我就获取用户的输入,那选的是哪个数字,老师完了我就开了一个定时器。啊,定时器就等了500毫秒。啊,等了500毫秒之后呢,我就到点dispatch,我就开始跟redux对话了,我说redux你好是吧?哎,我给你丢过去一个action对象,你看看同学,那我问一下你丢的这是什么action呢?
04:11
嗯,什么action?好像就咱刚才讲解的那点知识,咱好像还没有写异步action的,对不对,你刚才所写的action是不是都是这玩意儿,嗯,是不是都这种这种类型的一般对象吧,哎,所以说这个时候呢,你创建了一个action,咱也不说同步action异步action啊,先说action。你是不是借助c action这个方法,您。是不是创建了一个值为这个的action呢?那找一下这方法在哪儿啊,咱就一步一步推,这方法在哪儿呢?按住CTRL点。是不是在count里呢?是个方法不,嗯是接参数不,嗯接有返回值不?嗯,有啥返回值啊嗯,一般对象哎这个类型的对。
05:05
好。那你看啊,你整个流程实现了这些东西,如果说再跑的话也能跑,同学是不是来到reducer。完了发现你是不是加完了,在这是不是加了啊,那我想问你的是啊,就这个效果现在是零是吧?点来走是不是等了500毫秒,我想问的是你等500毫秒,你等那个动作,你是在哪等的。回到代码。找到组件。你是不是在组件里等的。你在哪个文件写的定时器啊,老师这文件呀,这文件谁呀,是不是组件啊。你在哪个里边,自己等的500毫秒是不是在组件里。那接下来我是这个意思,我嫌烦,我不想自己去等这500毫秒。老师,那你想怎么的,我想这么的来,瞧着组件里压根不等,没那闲心等组件里边不等。
06:03
说老师你要不等,那你现在这个效果,那就是。那还异步啥加呀,你一点马上就加了呗,说老师也等了一会儿是吧,来刷新一下是不是最新的代码啊,走同学我我等了吗。你要这么改,那就改坏了嘛,需求就改没了嘛。但是我的意思是同学。我再弄出来一个action。不叫这名了。老师,那叫什么名呢?那我这么写。INCREMENT500ACTION,你要说这么写啥意思,等500毫秒,但谁这么写方法呀,不好听啊,那我怎么写呢?为了能体现出等了500毫秒,你说等500毫秒其实是不是就是一个异步的任务,所以说我写一个think。哎,创建一个家的异步action,也就是说同学。你不在自己的组件里等这500毫秒了。那你在哪等呢,把等一等那个动作呀,交给action,所以说你在这儿呢,你可以给他再传一个500啥意思。
07:09
我要等500毫秒。从图上来说,就是这是去餐厅吃饭的客人,这是服务员。有两种让菜上的比较慢的方式,第一种就是客人,比如说举个例子啊,客人想五分钟之后再吃饭,那么客人呢,就可以先不说话,看菜单看五分钟,然后瞬间就告诉服务员我要点菜了,对吧?一份蛋炒饭,那么服务员就把剩下的流程是不是就都走了,这是第一种让菜慢五分钟上来的方式,就是我们案例里的等500毫秒再加,对吗?来。接下来想换一种方式。客人不想自己在这儿计时五分钟,客人这么跟服务员说,服务员一份蛋炒饭,五分钟之后上来,那同学,我想问你掐表计算,精确去卡这五分钟。这事就不是由。
08:04
吃饭的客人做的了吧?那谁做的呀?是不是由服务员做的?哎,你想这场景,反正你就想五分钟之之后吃饭,第一种场景就刚才说的。自己掐表记五分钟,到了五分钟,服务员吃饭,一份蛋炒饭瞬间上来,对吗?还有一种情况,服务员一份蛋炒饭,五分钟之后上来,我不管了,我玩手机对吧,然后等等等等到了五分钟,哎,服务员把这拿回来,所以说等那个动作交给谁了,是不是交给服务员了,那接下来我就是这个意思。同学,啥意思?不想把等那个动作放在组件自身往后靠,放在哪儿,Action。哎,好了。那这个时候你就必须得借助一步安神才能实现。同学,所谓的异步action,就是你那个action不再是一个普通的一般对象了,而是一个什么玩意儿,是不是函数?
09:06
好。来,回到代码当中。刚才我是不是在这加了个词叫think?你说加就加,随便写。写个东西这方法就能用,有这方法吗?没有,那有没有这个呀,有。那这方法在哪呢?网上找。一个加的一个减的,重新画这一个加的,一个减的,是不是都是从这里边引入的呀,那你现在如果说你在这想用这个,那逆着推呗。你说在上方。教我回车啊,要不东西越来越多了。那你说在这儿你是不是引入啊。哎,你说引入就引入。没有,那东西他也能引入不对吧,你看报错了,他说这个东西A字没有暴露,那怎么办。是不是来到这个里边走。
10:01
同学,这些东西你发现是不是都是action,创建出来的东西是不是都是action,那您瞧瞧这蓝色框里的action是不是都是这种类型的?那这都叫什么action,是不是叫同步action?为啥叫同步action呀?因为这里边儿不伴随着异步的任务,它就是同步action。那也就是说,你只要敢吊我。哎,没看错,就是这个create increment action,你只要敢调我。二话不说,瞬间我就给你一个这个。同学。瞬间就给你,里边不包含任何的定时器啊,架子请求啊,这是不是就属于同步的action。你敢掉,我瞬间就给你,我是同步的,好,那接下来咱是不是得写一个异步的呀?那咋写呢,复制。啊,那这名叫什么呢?肯定也是increment action,那为了避免我把东西写错,那你说能不能咱到这儿。
11:03
把它复制一份啊。完了呢,那粘过来吗?啊等于好得写上啊,等于同学你给人家传啥了呀。嗯,是不是传的值和时间。那人家这儿呢?那箭头函数左侧一个参数,你能省略小括号两个,你还能省略了吗?你不能了,是不是对逗号谁呀?还有谁太兽时间?好,那我这函数写完了吗?各位没写完呢,箭头我还没写呢,对不对,箭头走。同学,注意我刚才所说的,如果你的action返回的都是这种object一般对象类型的,这叫什么呀?同步action我得返回什么样的东西才能叫异步action来着?同学,我得返回什么样的才叫异action来着?是不是函数类型?
12:00
那所以说同学你这俩东西创建的都是。Object的一般对象,所以说它叫同步action,但是我这个东西我就想返回一个函数,那你说我得怎么办?我不完全用,都用那个简写写法啊走。同学,我问你啊,这是不是一个方法呀?嗯,返回值是啥?就以目前我第九行空着的写法,返回值是啥?是不是按find的好,它俩是不是也是函数啊,返回值是啥,是不是一般对象,那所以说它是什么,Action是不是同步的,但是现在我就想返回一个异步的action,那你说这得怎么办呢?得怎么办?能不能理解?来捋。调用它现在没有返回值,有返回值啥啥函数,所以说它是什么action。
13:04
E不。啊。这俩是不是函数啊,是。调用它干嘛呢?专门创建action的,Action长什么样,Object类型的,所以说什么action是不是同步action。好。哎,所谓的异步action,咱把这定义就下了吧,走所谓的异步action就是指action的值为函数。那这来一个,或者把这所谓的删掉啊,在上边呢,再再来一个这个叫做。同步action啊,同步action就是指action的值为object类型的一般对象。啊老师,那我现在就明白了啊,就返回是是是这玩意儿啊,它就是同步的啊同步X啊返回一个函数,哎,在这呢啊,那这个东西就是一个异步的,哎对好来同学你说你在这里边干嘛呀?嗯,在这里边干嘛呀。
14:14
哎,同学,你说Rex为啥有这规矩呢?你就比如说啊,如果说action。它是一个一般对象,我就管它叫同步的,行这咱也理解了,因为人就那么设计的,对不对,一个object类型的一般对象里边包含着type,包含着data对不对,那老师我理解这同步的,那为啥他非得说函数类型的就是一步呀。嗯,他咋不说数组呢,他咋不这么规定呢?哎,说你的action返回的要是一个object类型的一般对象,你就是同步action,你返回到是个数组,你就是个异步action,它为啥不这规定呢。或者他咋不规定一下,说你返回掉是一个number数字,比如说100啊,你就是一步的action,他咋不规定这些事呢。
15:06
因为啊,无论是数组还是数值,都不能够为你开启一个异步任务。所以说它不能作为一补action的标准。人家也不是拍着脑袋想的对吧?啊说你这个action如果是个帅哥,那你就是一部action。那你帅哥得有能力开启异步任务,你说对吗?你连异步任务你都开启不了,你,你怎么叫异步action?同学,你在100这个数值里给我写个定时器,我看看写不了。你在数组里边写个定时器给他执行一下,我看看写不了,但是你能在哪里边随便的写代码。函数题里吧,哎,所以说嘛,同学,为什么人家规定说必须得写一个函数,它才能称之为1XN一句话,因为函数里边能开启异步任务。
16:01
好,别客气了,Set time out,走你定时器。啊,冷静的思考,定时器开没开?开了,开在哪儿了?啊,开在这个函数里了啊,那这个函数是什么呀?这函数是一部action。因为action的值变成了一个函数,函数里边还开启了异步任务,OK,异步action形成,嗯,等多久啊,嗯,等500毫秒,别写死。哎,那我问一下各位,定声器到点了,那咋整啊。到点了,500毫秒到点了怎么办呀。那老师,那就这么地吧。哎哟喂,这么地能行吗?同学啊,你请求这个。来来你看捋啊捋,组件里边是不是说我要一步加呀啊,你加多少,加这个等多久啊,等这些好来到这啊,拿到你的值了啊啊拿到你的时间了,OK,我为你开启一个异步任务了啊那接下来呢。
17:07
那接下来呢,我问你啊,嗯。哎呀,老师,接下来是我这事没干哈。那咋办呀?你在第14行代码干一件事就行,这件事就是通知re加date对吗?啊,对不对,第14行到点了啊,干嘛赶紧联系去啊,干嘛呀,加上那个data呀。那怎么联系?哎哟,是啊,怎么联系啊。那这。同学,你之前咋联系的呀?你之前咋联系的?到点pach是不是就能让你去跟到对话呀?看图说话。掉了dispatch,再传了action,是不是就能找到道去聊天了呀?哎,那所以说你这怎么办呀。回到这儿。
18:01
是store。啊,DP,然后呢走。啊说啥呀,说你要真正要干的事儿啊,啊对我要加还哎这忘了是吧,哎,我要加呀,走那就是increment对吧,那加多少啊,那加data你传过来多少,那我就加多少啊行。好。简写方式可以用吧,哎,我问一下。这对象是不是你自己写的呀?老师是让我自己写的呀,同学有一个人能创建这对象啊。谁呀,是不是这个同步的action呢。那你说接下来我怎么办呀?别自己写呀,说老师我就想自己写行没说不行。对吧,你现这个H你简单你自己写行,复杂了之后你自己写就麻烦了,所以说这怎么办,别自己亲自去写,那对象你有手下的是不对。
19:03
嗯。对吧。I。哎,你说用就用啊,到点。对不对,你说用就用啊,到点。那你是不是得引入star啊?啊,那同学就说了,老师弄明白了,我得引入,嗯,From哪啊。当前路径下的道老师这不就就位了吗?嗯,是写着呗。啊,写着呗,捋顺一下它的执行流程,你是不是说了,你要创建一个异步的action,哎,加多少啊,加这些等多久啊,等这些500毫秒来回到这儿,截没截到你的这条。接到了,接没接到你的time,你接到了。然后你注意是不是返回了一个函数,我们管这玩意儿叫异步action,是不是里边是不是开启了异步任务,那异步任务如果到点了,是不是死到点是跟人家对话去完,说你要加呀,是不是就等了一会儿才加的呀。
20:01
嗯,老师,那来试试吧,嗯,瞧瞧吧。刷新啊,注意了。哎呀。读一下这错误吧。同学,非常常见啊,读一下action。必须是。哎,什么东西,一个object,我问你一下,这词啥意思,这个plan啥意思。不知道就搜有的是吧。平的,简单的。朴素的,朴实无华的。老师,那我明白怎么翻译了,Action必须是一个朴实无华的对象,这啥话呀,润色一下。同学,他这个报错的意思就是action必须是一个object类型的一般对象。他这个plan的意思,那个朴实无华,不是真直译过来朴实无华,他这个plan的意思是一般。
21:08
而一般。一般对象。好说老师,那我哪儿写错了呀,其实是你这儿啊。他不认识了。这是不是action,是不是专门创建action的?你创建的是什么action啊,是不是一个对象类型的。对象类型的是不是就是object类型的,Object类型的是不是就是他所说的朴实无华的对象啊,所以说这个正确同理。这个是不是也正确?但是谁就不正确了,这玩意儿是不是也是action?但是他所创建出来的action是个什么玩意儿?嗯,是一个朴实无华的对象吗?不是,那是个啥呀?嗨,是不是个函数?啊,老师是个函数。谁不允许这样做呢?道道默认不允许你这样做。
22:06
说你给我的action必须得是一个object类型的,我这才能分析吗?看图说话。这action最后交给谁了?或者说中间有个环节交给谁了,哥们儿是不是交给到了呀。说啊,行,Action,我看看你,哎呀啊,朴实无华的对象啊,Object类型的行走reducer,过来给这活给我干了。然后如果有一天你给到的action是一个函数,哎,开始了道就说了啊,到说回去,什么破东西啊,你这给我一个函数,我怎么让reduce干活啊,你给我个函数,那函数是个什么东西?函数里边也没有type,函数里边也没有data,那我手下人没法干活了,你就脱了回去吧。我不能处理你,岁数就报错了吗?说,老师那怎么办呀?别急呀,读后半句,请你使用一个中间件。
23:04
哎,啥。来去使用e action。哎,啥意思呢道啊,这个人他其实之前呢很守旧,他就觉得你给我的action,只要不是object类型的不好使。你不是object类型的,你就报错,你就往后靠,但是如果你把一个中间件请来,你跟这道聊聊天。你说啊,给个面子呗,对吧,你看都不容易。那一会儿呢,这样请你允许我给你传一个函数。那请你允许我给你传一个函数,你别急,我一会儿给你函数的时候啊,你不用给你手下人去干活。对吧,我给你函数的时候,你不用交给手下人,你就帮我执行一下那个函数就行。一定要听好我这个说法,如果一会儿您真的收到了一个函数类型的action,您不用交给reducer,因为reducer他不是干不了吗,这没有type,没有date呀,你不用给reducer,你就默默的帮我执行一下这个函数就行。
24:12
啊,因为函数里边我写着异步任务呢,你帮我执行一下。啊道说那行吧,我就勉为其难的帮你这么做一下吧,好,那其实他所收到的那个函数是哪个函数啊。是不是就这函数啊。这个函数其实是不是被到拿到了呀。他交给reducer了吗?哎,他让reducer干活了吗?你这个函数里连不学是个函数,它没有type属性,没有date属性,Reducer怎么干活啊?那死道是不是帮你调这函数啊?哎,同学,是不是死道帮你调的这函数啊?啊,好道一调这函数不要紧,是不是开启了一个定时器?定时器一到点,同学我问你。到点dispach,你是不是重新找store去,你说哥们儿,其实我想我其实想干的事就是想加,那刚才呢,其实我就想等一会儿,那这个时候就又来到store这了,同学呢,我想问你这一句话执行完了。
25:10
重新交给道的是啥什么action啊?你就我就问你这玩意儿返回值是啥?是不是一个同步的action,然后到说来自图里边到说啊那明白了,小兄弟,你刚才给我个函数啊,啊,那我明白你想做什么呢?你给我个函数,我帮你去调,因为函数里边有可能你写着异步任务对不对?哎,我帮你调一下这个函数完了,等异步任务到点了吧,如果你真想加呀,你重新带着一个合法的,哎,就这么一个object类型的action,你来见我,我就让我的手下人就帮你加工状态了,就是这么回事啊,那所以说同学们,我们目前差在哪儿?你就差哉。没有这中间价儿啊。嗯,你没有这中间件到就不认这种函数类型的action,你就写不下去,所以说中间件请过来呀,打开代码中间这叫什么名字呀,直接告诉大家,叫做react-thank react杠三,哎,是啊,这要记住啊,是啊,写错了啊,这是我的手啊,不是react,是Du,这是我的手误啊。
26:23
啊,说老师我记,同学们不用记,我一会儿都给你形成笔记,都安装啥了,都在哪个里边,怎么写都给你写好了,现在只需要好好听视频啊,叫做redu thank thankk,这啥意思?嗯,Thankk。形实转换程序就有一种什么样的感觉呢?如果你不用这个形式啊,什么转换程序,我就不认函数类型的action,如果你写了它,我就认函数类型的action,就这么个事,好了,安装它来,注意啊,是re。啊是可别写成react啊啊好等着它安装啊,这咱就稍微等一会。
27:05
也不是很大啊,这库也挺小的。安装完了吗。我说行了,安装完了,这这还说啥呢,点一下。同学,安装那是安装了,你告诉到了吗?你跟他商量了吗?啊到我跟你商量点事儿,一会儿一个函数类型的action神过来,你别拒绝他,你别报错,没商量啊,那所以说回到代码当中找谁去。同学,如果你听好了我的引导,你不可能说老师我找constant,常亮,我找action,我找reducer,你就知道你要找谁到好嘞,引入谁,引入什么?Re,用于干嘛呀?支持异步action好了,走着。那这咋写不知道from,反正我知道啊,这得写什么呢?
28:02
啊,然后杠thank,因为你刚才安装的不是这库吗,老师那这。那同学就得琢磨琢磨了,他如果要是使用了分别暴露和统一暴露,你是不是得这么引入,如果他使用的是默认暴露,那你是不是得这么引入?那我告诉你啊,他用的是默认暴露,嗯,Thank,到位了。老师,那这就行了,不行,光引入那怎么能够呢?老师,那怎么办呀,人家说了一个词叫中间件,对不对,Middleware中间件。所以说呀,是这么操作的。你得从Rex里边引入一个人,叫做madeware apply呢就有执行的意思,Madeware呢就是中间件,同学,这个词你不背没人能救得了你,对吧?Apply middleware执行中间件啊,那在哪执行呢?必须要放在create store作为第二个参数传进去。而且apply madeware本身也是一个函数,要调用,它调用的时候要传入这个thank就好了,同学,这些东西我也很被动啊,那人就说了,你就得从这儿拿,那咱就只能记,那人就说了,你得作为第二个参数,你做第三个他就不行,人说了得传入三,你不传就不好使,那所以说同学们,那你看看用了一些第三方成型的封装库,你就面临这个问题吗?API不背呀,嗯,对吧,咱这流程图啊,可以印在心里边对不对?哎呀,对象类型的就是同步的,函数就是异步的,这些东西其实都好记,API是不是得靠自己努力点去写啊。
29:42
嗯,好了,保存老师这回就行了。那行了,瞧瞧啊,来到咱们的这个action里边啊,返回了一个函数,所以说它是一个异步的action啊,那这里边呢,开启了一个异步任务,异步任务一旦到点了,我就死到点,谁帮我调的这函数啊,谁帮我调的这函数啊。
30:03
同学,刚才的不能白引导啊,你给到的如果是一个普通类型的action。叫手下人干活,如果你给到的是一个函数,函数到就会帮你调用。嗯,好了,回头看效果啊,来到这儿刷新一下,一步加啊走。哎,是不是好了,再点,嗯,是不是好了,哎,再走是不是好了呀,哎,还有一丢丢需要完善的地方啊,这关掉。为什么出现这个呀?嗯,这跑到哪了?是不是跑到redux源码里边了,这怎么回事啊,这是这。我刚才啊,在他报错的时候,不小心点了页面上的一个东西,哎,它就跳到源码了。啊,我们把这关掉折叠,好,同学,我问一下你在这儿是不是还得自己引入此道啊?对吧,自己引入道对不对,哎哟,你还得自己引入道,那我自己引入完了道是吧?哎,然后呢,我再在这,哎用上store,那你想一下同学,这个函数本身是不是就已经是store帮你调用的了。
31:12
而且死到自己心里边也明白,你为什么开启了一个异步任务呢,那就是因为加几减几,可能你目前还不知道,你等一个定时器,你得等一个adjust请求,然后才知道加几减几,那你知道了结果之后,你肯定是不是得调一个同步的action,完了去告诉人家真正加几减几啊,所以说呢,同学们在这我们其实不用引入store这块,我们也不用到点说老师那就直接这么用,直接这么用肯定也不行,在这儿其实你能接到一个dispach。谁帮你调的这函数,谁到那到就明白,你在这里边一会儿肯定得用到thispa,人家就帮咱传过来了,哎,来我们试一下啊,保存回到页面刷新。
32:00
啊,E不加是吧,走等一会儿是不是加了,你看是不是也能工作呀,哎,所以说这就叫做异步action,那我们再补一句,在后边叫做一步action中,一般都会调用同步action。哎,想想你为什么要开启一个异步任务呢?那就是因为加几减几你不知道,你得等这个异步任务,这个异步任务有可能是个定时器,有可能是一个adjust回调,你说对吧?好,那最后说一句,同学,你觉得异步action。是必须要用的吗?不是吧,同学。我问一下,在最开始其实我是不是已经实现了这个异不加,是不是在组件里边自己等的,那各位是不是组件里边自己等的?哎,所以说同学就算说你加几减几这个值你不知道要发送网络请求才能请求回来,那我想问各位的是,我在这组件里边不能自已发呀,我在组件里边自己发请求,自己指定成功和失败的回调,在成功的回调里边拿到值,完了我再调一个同步的action不加这a think是不是也行?
33:18
哎,所以说同学们异步action它不是一个必须要用的东西,如果您有这需求,我不想在自己组建里面发请求,我就想说加加几不知道。那action你去帮我发请求吧,那你就需要在这儿,哎,去写一个异步action对吧?异步action不是必须要用的啊好了,嗯,那再写一个吧,啊叫做异步action不是必须要用的对吧?看你业务场景想用就用嘛,不想用就不用,对不。好,哎,来吧,咱来一波总结,我都动哪个文件了呀。
34:04
首先组建里边我动了一下定时器,不自己开了,然后呢,我又新建了一个action,这个action稍微有点复杂,是不是异步action,啥叫1ACTION?你只要类型是个函数,你就是1ACTION啊,Store里边引入了一个中间件对吧?好,这些都关掉,那找到read me文档啊,回车,第三个提前给大家写好了。啊,明确延迟的动作不想交给组件,自身想交给谁?Action何时需要异步action想要对状态进行操作,但具体数据呢,得靠异步任务返回。啊,是吧,但是这是必须要写吗?写了一个叫做非必须,想用你就用对不对啊来具体编码呢?哎,你得安装这个并配置到store当中,创建action的函数,不再返回一个对象了,而是一个函数,那该函数中干嘛呀?写异步任务,异步任务有结果了怎么办?分发一个就是pach,分发一个同步的action,真正的去操作数据,那么备注就是异步action。
35:07
不是必须要写的。完全可以自己等待异步任务的结果啊,然后再去分发同步action是不是也可以啊,对吧,不是必须要写的,那这就不体现了,对吧,走。那老套路对吧,停掉,然后呢,SRCCTRLCCTRLV,右键重命名,所以说各位这个异步action也不是大家非要必须练习的,只是说想让你知道一下有这写法啊,毕竟咱讲redu得讲全了啊,叫做redu,那这怎么说呢,叫做异步action版。好啊,那又不让改了,行了,一会儿我把这Vs code关了,然后我重新改一下,就不录在视频里了,那这小节呢,咱们停一下。
我来说两句