00:01
好,那下面呢,我们把这一段给他用代码实现一下,这个有点小逻辑啊,这个就是我们平常说的,我们在做项目的时候,有一些业务逻辑,这个业务逻辑呢,需要不断的锻炼,你才会有一个提高。以后做的你做的功能肯定跟这个很有可能不太一样。但是你能把这个做明白做清楚啊,多做几次。类似的事情也能做啊,做多了就好了。啊,我估计大家现在也不是完全特别特别的清楚,没事,你等会下来以后再看一遍,自己多想,一定要多想想啊,好,我们现在一不说先要读取库克做成什么呢?优质ID,这个时候需要有一个最好有个库,其实原生的也能做,原生的也能做啊,但是呢,我们其实是有一个库的。啊,这里面我有一个叫GS杠什么呢?Cookie来把它下载下来,好,他呢向我提供了啊一个对象,提供了一个什么对象呢,叫cookies from啊GS。
01:18
刚cookie没有啊,现在他还没下载下来是吧,先写着。好,这个是可以干嘛呢,可以操作啊,前台前端cookie的对象,它相当于四个,可以看成一个容器。这个对象里面呢,有有些方法啊,有些方法啊,一个叫set什么意思,设置说白了就添加cook呗,对吧,能懂吧,还有好像我记得没错啊,应该叫remove啊,就移除啊,这个呢,大家有烘焙啊,如果你想知道到底有哪些,没关系。
02:07
可以先啊,去K上面去查一下这个户。啊,JS cookie走。9.3K应该用的还挺多的吧,嗯,打开它啊,放到下面来啊看一下,看看它有什么一个简单的一些用法,就是告诉我怎么装是吧。Cookies点什么set?是吧?啊,还可以,Cookie时间是吗?Get,这是干嘛呀,读取。啊,其实无无非就是正常奶查嘛,对吧?啊读是什么get好看看他删除用的什么,找一找啊是不是remove啊。
03:00
这个很好用吧,挺好用的,好啊来我们来看一下我们当前应该用哪个方法get吧,那get要不要传参数啊,现在我是要得到一个优质ID,怎么搞cookies,什么ID。下面如果UID没有值这个事情,咱开始前面不写过这个吗?能不能看到来好了,那下面下面就到下面就是有吧。有的话记得干嘛去。读取里面的什么。User状态来,我这里面是不是有user是吧,我主要是要看一下啊,大家看一下,我就把那个user者先给他读出来吧。
04:06
怎么读啊,This这个里面就。把它用个大高给它过一下,我这个user者肯定有,User者本身它肯定有,因为它初始值就是个对象,主要是看什么来下面。优点,下划线ID。没有是吧,那没有怎么办?暂时返回一个浪。这个能不能暂时返回一个了啊,这个要注意好了,下面else else说明是不是什么。有有的话啊,显示对应的界面,这个其实下面就会去自动显示对应的界面,但是有一个情况,有个特别的情况。
05:06
有一个特别的情况啊,有一个什么情况呢?大家看到这个下面说的,如果已经登录,如果请求的什么根路径,如果请求的是根路径,那我得去做下面的这些事情。那如果你不是请求跟踪器,那你就往下,它会自动选择的。这个不懂,我们还没注册其他的路由啊,到时候注册一下就行好,那我这个怎么办呢。我怎么知道他请求的是不是跟路径呢?我是不是得想办法通过读取的方式来找到他请求的那个路径?那请求路径怎么得到,来看一下我们现在的这个,呃,工具看工具嘛,这东西看工具就行了啊,嗯,审查找到我们的react在这个组件里面呢,它是有一些特别的属性的啊,有些属性咱还没用过,咱得替大家看一下,切一下。
06:20
比如说找到这个代写吧,好,这个里面不有history location和match吗?看到吧,好来这里面记得没错的话,有一个location,因为里面有一个什么。Pala。看到了吧,呃,这个pass是什么?按所说定位嘛,就是我请求的一个位置对吧,它里面这一个是我当前请求的就是斜杠是吗大神。是不是这意思?能懂不,那也就是说我想先取出来,那我现在取出来一个pass。
07:05
啊,This pass pass pass嘛,Passly对吧,那我得知道它是不是跟路径对不对,怎么pass等等于斜杠是不是概念,如果是。那我要干嘛去,我是不是要去计算产生一个需要重定向的一个路径,因为这个路径如果你不你如果你不做这个事情,到时候没有任何显示的。我的显示要靠指路由才能显示。那这个计算不需要我们再计算了,我们有一个函数,我们有一个函数,我只需要干嘛呢?引入这个函数就行啊,引入这个函数它在哪个里面呢?看它啊在一个UUS里面,S里面有一个什么呢?叫get really rightdo。
08:16
是吧,而这一个函数你看就是根据太看的什么。来判断决定要写这个什么,对吧,非常有用。哎,这里面就是看它工具是不是可以反复的用啊,啊可以反复的用,可以在多个位置用来。那我就去调用一下啊,调用一下get。传一个什么。和ha。太棒。有点太hand。有hand懂不懂这个时候我是不是得到一个我需要去重定向的一个路径,那也就是说最终我要return一个什么东西?
09:04
To是吧,只是那个to的值是多少呢?是不是就这一个的词啊,那要写成pass,我能现在能写成pass什么,不能,因为它是个什么。是不是常量,所以我干嘛求light是不是可以?这个时候我是得到了一个啊,得到一个什么重定向的路径嘛。扔了,我这在最后干嘛?丁乡,到指定的位置去呗。是不是,那如果你请求的不是它了。那不是他你就继续了呗,继续是跑到下面来了啊,这个不要了啊,这个不要。是不是到下面了,到下面来了,是不是去匹配某一个路由吧。
10:04
OK。啊,这是这一个。好,但是我们中间有一个事情没有做啊,没有做这个地方,这个地方还要得写一点啊。嗯。怎么还有一个分支啊。就是在这里面,如果库位中有user ID,那是不是要发一个,呃,发一个请求获取user者,这个事情其实咱没做,对不对,咱还没做啊,这个事情咱要做一下,下面这个我等会再讲,咱们把这个事情做了。其实这个都不是在做企业,我在说这个不完全对啊,如果有UID就一定要发请求吗?其实还要有一个条件。还有一个条件,那你怎么知道是不是正确的呢?你是不可能知道的,你不查肯定不知道,还有一个就是re里面有没有user。
11:02
Redux里面有没有user里面,User里面有没有下方ID。你想你有你的库里面有一个ID没问题是吧,但是如果啊,你就马上就发请求,那我告诉你,那请求的次数也太多了。你怎没登录才是发请求嘛,对不对。这个能不能懂啊,首先你是登录过,但还没有登录。能不懂,应该是你登录过但还没有登录啊,什么叫你登录过但还没有登录呢啊是吧,哎登录过对吧,但还没登录,但还没有登录啊记住了啊,就是曾经登录过,但我后来是不是呃关掉浏览器了,不是退出了,退出了那就挂了,那就没了,就登录过关掉浏览器,我再打开浏览器。开始的时候就是登录过,登录过就代表cookie中是吗?有uz ID。
12:05
对不对,这个能不懂啊,好,但还没有登录。什么情况,我一旦登录成功以后啊,登录成功以后,我会返回一个user,最终是把user存到那个re里面去,当然你也会像那个cookie里面放UID对吧。嗯。那这个时候还没有登录说明什么,说明这个re中管理的user中没有什么。没有什么下划线ID啊。那么说明我要登录了,肯定有啊。那没有,那不就是没有登录吗。
13:00
我当前没登啊,不在我我前面没登录过,对不对。我最终要实现一个自动登录。这意思吧,啊好,那这个时候我才去干嘛。发请求,获取对应的U。那这个事情在哪做呢?那我在render里面是不能做发请求的事情啊,Render里面是完全不能做的。我发请求异步操作一般在哪做?假装。啊不有生命周期回调函数吗?就异步操作吗?就这么快就把它忘了叫啊在这个里面去干嘛去啊,去做这个事啊,大家看啊,把这个整个拿过来。能看到,那也就是说我们得有条件判断才发请求吧。
14:01
这个能懂吧,那谢谢。这下怎么搞?那先得取数据才能判断对不对,取一下,先取一下cookie里面的优待力有没有。看一下,那不就拿他过来嘛。是吧,啊,同时啊,还需要去看什么呢。看我们的这个this.prop来拿来。点U的,那这样对吗。不对,我不要他了,我要他的什么下方ID记得干嘛?Pan。你UID有没有值?有没有折?有对吧,并且什么下面有没有这。他他有没有值,这个下关ID有没有值。
15:03
也就你登录过,但现在还没登录,那我才发请求对吧,他没有这个很关键啊,他没有干嘛去对吧,我要去发送义务请求对吧,获取什么。是不是you的信息?听不懂。这个能不能看懂啊,我肯定要去做,但是呢,这个做还有点费劲,为什么呢?因为后台没写。是吧,就海内一套都没写了,就是我们要去最要发请求,要写后台要写那个要写最后。我的这个组件才能去做。对吧。这个懂不懂啊,我先写个打印啊,写个打印再说啊,就是发送呃,这个请求。
16:04
获取有走啊,我先写一个啊,因为这个一下做不出来啊,我们先放着。能弄吧,能弄好。那是这是这个啊,我们相当于把这个先梳理清楚,那这个呢,其实在我们的这个,在我们的component component amount里面就可以做,那在render里面,在render里面我们得做些事情。啊,做些什么事情呢?就是这个地方啊,就这里面,我们刚才其实啊已经做了一些事情了,来我们回来再说一说有哪些啊,首先啊,去判断我的这个cookie里面有没有优质ID,对吧?好,来啊这个切一下,如果cookie中没有优质ID干嘛。你想啊干嘛去,是不是直接转向到login登录嘛,啊直接从定向到是吧六。
17:15
试一试吧,试一试好了,还有吗?接着。现在下面是不是有了呀,有了以后呢。有零后下面判断什么。啊,判断我的那个就是re管理的user中啊,是否有什么啊下划线ID,那也就是说它可能有一可能什么没有,那来看啊如果啊没有。我要干嘛去?我就是说我你看啊,我现在要做的事情就是我要确定我要显示一个什么样的显示一个什么样的界面,懂不懂我要显示件,我现在如果没有,那我就啊,暂时我们刚才说了,暂时不做什么任何显示,其实显示不了东西,其实我们马上就要发请求了吧,马上就要发请求了,我暂时先不做显示,我做不了显示。
18:23
我又不能登录界面,也不能是显示一个拒绝界面,没办法。好,那下面就要说,如果有了。说明什么?说明当前是不是已经登录,能不懂当前已经登录,那已经登录我是不是要去显示对应的界面。No no。显示对应的界面,但是这个时候就有一个是显示对应的界面,有一个特别的情况。
19:00
你有可能啊,请求的是什么根路径。第。啊,就如果现在我们请求路径是跟路径,那我得做一件事情。对吧,这个能不能懂。那如果不是了,那你就该怎么着怎么着了。那么看到主要是这个跟踪镜要处理一下啊。那我们后面啊,就是要去看我们这个流程到底行不行啊,而这一个第一个工作啊,是在哪里写的。我们最终在哪里去实现?这一段是不是在component?D的什么,Mount里面做的懂不懂,我们在这里面做这个事。那到那下面呢,下面啊,我就这里面写。
20:08
下面是在什么render中,我是不是要干这一些?看着吗?就是我在render里面有这样一个,有有下面这样一个流程了。嗯。好,我们现在就缺一个东西,就是这个是吧,这个不过我们先把别的把这些东西我们先测通一下,看看我们是不是可以去做一些做一些判断,我这判断的对不对啊,我们来先来看第一点就是我看一下我的cookie中如果没有U带D,能不能自动跳到登录页面,这个很容易。啊,我们先看一下这个application。对吧,把这个酷ID给又ID给他什么删了,现在我直接去请求这。
21:07
能懂不?其实你你请求他也行,这个没关系啊,也是一样的,对吧,好走你你看什么意思,是不是总是去登录界面。这一条路好了吧,这种情况好了来。下面要说啊,如果我有cookie,那怎么样去让它有cookie呢?非常简单,先登一下对不对,登一下假设A123。点击登录。诶,你发现没有,这时候点击登录,现在实际上是个什么情况,先是cookie中有没有UD。有那个里面的user,有没有下面ID。开始是没有,但是后来肯定有了,到这来有了,他只是一个过程,他其实进来几次,先是来啊,这样我们做一个事啊,这个大家不太清楚啊,这个逻辑有点复杂,写个吧,写个迪吧,看他进来几次。
22:16
这个很重要啊,这一步其实是挺重要的一个事情啊,我们来去看一看啊,这一次呢,来看一下啊,我们把。新启动一个页面嘛,新启动一个页面,我手里面就有一个数据,就是酷给里面有个ID,这个能不懂,因为我们现在是存天嘛。对吧,好,我们来看一下啊,我请求的是根路径轴里。好,现在要要要要去做这样一次啊,要在这个模式下才行刷一下。哎,过来了啊来很重要,看一下现在我有的里面有没有下方ID。看没有能不懂,但是我的cook里面有没有UD,有对不对,好,那现在它应该进入哪一个分支呢。
23:18
看到不能不能看到,但是啊,但是我如果再点一下大家看啊,这个就返回了,这个方法就结束了,我再点下他还会进来。嗯,不对,这不对啊因哦对了,有个事情啊,有个事我们这里面这里面还没有。还没有发请求对吧,我们得去通过登录的方式来去再做一下啊,通过登录的方式做一下,因为我们按理来说,我们现在应该去马上再去什么发请求获取数据,这个数据又会发发生改变,是不是又进来,好这一次我们去通过登录来试一下,重新登录一下来看到啊呃AA123。
24:05
接着,我走。好,来看一下现在是个什么情况,大家看呢,现在是不是我们的U的ID有没有下ID有没有。是不是现在是有了,能不懂现在是有了啊,现在是有了,当然现在最终啊就能够去大家看到进入是哪个分支,记住这个分支吗。进还是不进,肯定不进,进入的是什么else,而else里面大家看到啊,大家看一下,而此时我们现在尽量要是我们的pass是什么。看下这个,看下这个,看下这个。进进入衣服吗?不进能不懂啊,OK,这样是对的吧,这样没问题吧,因不进这个有说老师我刚才为什么进老板以后是我们前面写好的呀。
25:01
我们前面在登录注册的时候,我不我不动态计算过吗。在这里面,在这个redux里面,我不有这个吗。对吧,有这个是可以计算的,我们现在有一个事情没有做,就是什么呢?如果我在啊,我就说刚才我们因为那个请求没发,所以有的人测不出来啊,就是我打开一个新的窗口直接去刷,按正常情况应该。会显示它对应的一个主界面吧,或者是这个界面,因为我当前登录的是是一个没有完善的一个。但现在大家现在啊,看这里主现在我之所以是一个空白的,主要是我现在根本就没有去发请求获取,有的我现在显示不了任何界面,因为我们现在进入哪个哪个里面了吗?大家看一下我们进入这个里面了。
26:01
对吧,但是一直停在这里行吗。你说我们现在就选择这张。这不行啊,这。为什么不行,因为我我按出来是你要不要自动登录吗?你现在你看你现在的里面有没有cookie。有没有预算?一有,你最终是不是应该实现这个任务,到现在实现没有还没有,没有的原因是什么?就我就一件事情没做,但这件事情呢,还要写的代码,什么事呢,就这一个事。这个是,哎,你看一下我们的那个打印输出。干啥去发请求获取user,一旦我得到user以后,这个轮是不是又会执行?为什么我一得到优的优惠资金,大家想啊,我得到一个新的优者,是不是状态更新了,那而我接收的是不是接受了一个优者?
27:01
我接受的属性发生了变化,我要不要更新?那必然要嘛,这不组件的特点吗?那我还没做是吧,嗯,我们先做到这一步,后来只要我们把那个啊,获取优的信息那一套做好了,那功能其实上就已经实现了啊。
我来说两句