00:00
出来了吧。能不能看到是可以的吧,只是说没有一个好的,一个什么样是效果对不对。这能听到吧。啊,那当然我一旦开始是没有进行登录的,它没有进行登录,它有显示吗。没有没有的原因是不是我现在那个优者状态里面没有L。啊。那现在是不是就要去稍微写点样式来去把它显示一个好的效果呀?那这个我就不再去一个一个去写了,我就把它直接拿过来算了啊,也不浪费这个时间了来。找到我们的这个登录界面。啊,我最终是这么做,大家看一下看一下就行了。
01:02
稍微有一个小动画,一个过渡。拿过来。找到我们前面那个HR写在它的前面。我们先看一下效果,再慢慢去看一下,来注意观察一下,可能还有一个还有一个小问题了,我们来等会说啊,大家看一下,我来去输入一下啊,输入随便输,别报错就行走你。位置不对是吧,应该显示在什么这里。是吧,写在这里,这这个是什么问题呢?是这个绝对布局的一个问题。它是不是要相对于最近的那个有定位的那个元素啊,啊,应该把它定位成它是不是啊,这也太简单,搞个什么,我这在咱前面整过等于什么。啊,就让他在这里出来,主要注意观察,注意观察,再给他演示一遍。
02:00
嗯,再给他演示一遍来。是下来的一个简单效果好,那这个地方啊,这个地方啊,央视这个东西呢,主要是有一个,这里面有一个。大家看啊,这什么意思?你说这样写的,我的这个类名和这个类名是在什么。是在父子标签里面吗?那是什么标签呢?那再说了,有个什么有有什么特点呢?我这这些有什么用吗。正常情况我们这么写,它是副标签。对不对,那这一个应该写在它的指标线里面吧。是吧,那我加了他以后呢。是同一个标签,就一句很难简单的话,就看你知不知道的问题。是我们同一个标签,这个内容必然有。是不是这个类名必然有,而这个类名是可能有,有可能什么呢?没有,有这个类名就会干嘛呢?
03:07
显示出来,并且有一个什么呢。过渡动画来我们来看一下,而这一个啊,我的那个页面里面,我的页面里面。看着我会有一个判断的,我会判断我的这个优点l message里面有没有值,对不对。有职。是有这两个类名,看到了吧,啊,没有字了。是有这个类名。是不是有一个基本的一个样式,说白了啊,大家看着这个类型是比较有是不是。而这个下面这个类型呢,是显示的才有,对不对,隐藏的时候什么没有。这能听懂吧?啊,就这么个意思,好。那这里面呢,有一个有一个Y有一个移动,其实它开始是向上移动了什么。
04:05
向上是不是移动了30个加数,等到我显示的时候在什么,是不是移下来。能看到吧,啊大,其他的样式都很简单,大家自己看一下啊,我不再去一个一个写。这样也可以吧。OK,那如果有人说老师这个挨的有点近,这怎么办啊?你再把这个边距再给他什么调大一点就行,我这个都懒得做了,这个太简单了,就是一个基本的压制条件。这个不懂。啊,这个啊。实现起来比我们刚才那个。最先的那个要难复杂一些,说实话也就是说如果按照以前的实现方式,这么简单搞一下就行。是吧,你都不用管它,也不用去分班行了,你直接提示完不就得了吗?那就没事了。但主要是我想给大家演示一下这个玩意,就是这个这个处理,不然的话,咱整个里面就没有了,就这个机会了。
05:06
是在原本状态基础上再增加一个属性的话。不要改变以前的数据。啊,注意这个事情。OK,好,那有了这个以后,下面我们来看我们应用中,我先登录。Me?人能不能上去吧,但现在是什么情况?报错了,是不是报错了,是因为现在有一个事情啊,有一个是什么事呢?我们有不少的地方还用着memory。得需要给他什么呢?改过来。比如说我的me里面。我的me里面就是去找的我们的以前的那个memory。
06:00
是在的。还需要他吗?不需要它了啊,我们其实需要去找一下哪个零用的看看好了。这里面是不是在去取游者?对吧。那取优者应该通过谁来取啊?是不是connect去连接,最终去里面去取,去状态里面去取,对不对?那又有一个事情,我们需要将这一个组件包装生成什么?容器组件整来整去,我告诉你,你写多了吧,就那就那几行代码。引入我们里面的什么。能看到吧,好,接着啊,把这一个整个干掉,把这个组件干掉,把这个模块干掉啊,接着我们要去。做的事情。来把这个复制过来。在下面干嘛去看的括号,括号传什么接着了。
07:06
套路写好再说小括号大括号下面不管长不长函数,都搞一个大括号。里面我要去取什么数据,User user的值啊,State点什么user?好,那我有了U,我是不是就传到me里面去了。那我这个怎么取呀,This。我告诉你,这个东西强就强在它,如果一旦我的U变了,这个组件就会自动更新,听懂了不?能理解吧?好。这个组件就会自动更新,自动更新就会自动的进行判断,就会自动跳转。那除了这里面啊,在读,还有一个地方在读。
08:03
那个hand。Hand里面是不是通过显示了这个name?那这个地方还要继续搞一个什么有呗,State点什么有着呗,那接着我就不用那个什么memory了,把它给它干掉,MYMY这个storage也干掉。等会我们再来看啊,怎么来去处理好来看这里,我们这边读很简单。读的话,在这里写个什么,This?是不是就可以读了,当我们这里除了读,是不是还有个退出登录的功能。看到了吧,退出登录实际上是不是会去将我们的用户信息给它清除,做个重置,是不是,那这个时候是不是要更新到我们的十多里面的状态。
09:08
那这个时候要干嘛去了,把这些干掉。写一个啊,写一个非常重要的就是this时间pro,我现在是在调用一个分发一个action。去重置我的那个数据啊。能听懂,比如说我来去写一个叫log,什么out。可以吧,那腿不需要产生任何参数,这个里面记住你也不用主动跳了,它会自动跳的。不用我主动跳,只要我退出登录,数据没了,它就会自动跳。嗯,等会来看一下,而这一个我写了吗?没有,我没有传过来吧。没有传过来,我得是不是传一个高的过来。是不是,那接着我这边是不得引入一个什么如。
10:04
来啊,Re,里面的actions,当这个还没定义,是不是这个没有定义,那我来干嘛?是不是去定义啊啊去定义来,现在我要定义的是个头,这是干嘛的了,叫退出什么登录的同班,因为我不需要发请求。听懂了吧,不需要发请求,来试一下,但是跟前面的有稍微有些许不同,有些什么不同呢?等会我们写去看啊,以前呢,是不是直接返回就可以了。来,我先写一个,先按照他们上面做,来返回来是这个名字吧,不是得设计个新的名字。我们需要去对数据进行什么处理啊?对,用户信息叫reset。
11:01
什么意思?是不是重置有的也不需要传数据了,因为重置嘛,还传什么数据了,对不对。能不能听懂啊,而这一个我定了吗?没有,所以我得去干嘛去?是不是去定义一个。第一个来重置有着,重置有着,诶重置用户信息能看到吧,重置用户信息好,重置用户信息我定义了一个,那我的reducer这一边。是不是也得处理一下?那同理,你需要干嘛先引入?对不对,那引入之后呢,我这边得加一个什么。是不是加一个。来加一个case,之后我返回什么呢?
12:02
是不是我返回什么呢?这个地方我返回的是不是要把优者的信息给他清除掉,但是我能写一个,那么不能。你要返回一个不包含任何信息的什么对象?这个不能等于他注意注意。你不能逮他。这个里面是不是开始存了我最先前面登录的用户的信息。你现在是不是要退出登录,你还能存储以前的信息吗?不能啊,这个地方就要说一个事情,我们还有一件事情没有做,你现在是不是将内存中我们状态里面的数据给清空了?里面的数据呢,你有处理吗。没有,所以我说我们的这个action。这一个X是这个X。哎,我得刚才没有什么没有引入。
13:03
学什们引入一下是吧,我就返回一个对象,这个是不行的,这跟上面稍微有点不懂,什么意思呢,看好了,我应该这么做,先不返回,分两步走,分两步走先去清除啊。删除中的user,接着再去干嘛呢?在才是返回还对象来这里要写个什么?这能听懂吧,啊,得前面做点事情。这个事情好做呀。Storage点什么?Remove user。能看了吧。那大家看到啊,关于local里面有这个操作,我是不是都是在我的re经处理的。
14:05
我的组件里面完完全全不用处理。是多少级的事情?也就不用像里面存,也不用从里面去取,他都会做。那这样的话,一旦我的这一个啊,大家看到啊,我们的头部头部在哪,我的头部看了这里面index吧。看不出来啊,来这个index里面,我们一旦调用了这个lookout。一旦调了我的log高塔,我们在哪掉的?是在这掉的?那是不是分发了一个配置登录的一个action。是吧?那最终的结果是什么状态?里面的数据没了吧?游者变成空对象了,我们local里面的数据是不是也没了?对不,那这样的话,我们的in就会发现这个问题。他不是去读了吗,他就会自动跳到什么。
15:03
登录界面去是不是需要我们自己手动的在这里面自己去跳吗?完全不需要。完全不知道,以前不一样,以前是我们必须手动的整,这里面我们都控制好了,有一个位置控制,统一的控制就行了。我们来看一下,看是不是。来退出的路线。这是。可以吧,接着好了,来登录上去。可以吧,刷新。能不能弄?可以,以前我们在这个地方还做了一些事情。哪里的,这里。需要他们吗?需要吗?不需要,都干掉。这个没到。就都被我干掉了。
16:01
嗯,好了,还有一个地方,还有地方我们读了那个user者,嗯,我们的那个读了吗。好像权限判断的时候读过,对权限判断的时候读过的。能听到吧,只要说白了,这个麦要从整个我们的应用中背什么?被删除。那个模块就没有必要存在,对不对,这能听懂不,那这样就说我们的这个level level这个组件需要去读取哪个状态数据有者。对不对。这能听懂吧,那后面我们看到的地方,大家看好了我们的这个mus。先把他干掉。对吧,接着去找哪个地方用了它。那你说我现在怎么办呀,This pro点。
17:06
没了吧?没了,这能看到。好,还有一个地方。啊,还有一个地方什么地方呢?就是我们那个角色授权的时候,我们授权的时候有授权当前用户权限,还记得不。不知道了啊,我们。当时是有一个添加角色的一个处理。大家注意啊,观察我这里面,我们这个地方有添加角色,不是不是添天,是修改角色授权的时候。大家判断这里又用到什么?我们是不是退出登录自动,我们当时这么做的,这么做行吗?不行了,因为我们已经要把这个memory us从我们的应用中。给他干掉了。相当于。也就是说哪个不需要了,这个不需要了。
18:03
把它删了。去找一下我们哪里用到了它是不是。来看好了,现在我是不是需要去知道我的那个username。是吧,那所以我要去独有者吧,要独有者那说明我是不是要对我的这一个组件进行一个什么。包装。对不要包装是不是右侧这几个。From react g Rex。你们觉得现在写起来就很轻松吗?就是代码是不是还一个我们是要退出登录的功能。啊,要退出登录我们得去啊整那个log out,点点斜杠,点点斜杠,我们的re下面的actions找到一个东西lookout。
19:00
是吧,那此时。我们向外暴露了,就不再是这个UI组件了,而是connect括号,再括号传入什么。接着好,结构摆好,这是第一个结构,第二个结构摆好。想一想,我们要接收什么,传递什么,一般属性有着,怎么得到有着,我要传递什么函数,属性多高?你说这难吗?这不难。这就是个套路,其实这个套路呢,你只要掌握了就没什么,不掌握的时候这个东西还是有点小费劲。那上面就说我们需要去读取用户信息。This点考虑一个是不是啊,接着我这边啊,最终也是什么,This需要去比较的。
20:00
是吧,接着最后是不是退出登录。是吧?这一系列就是在做特殊登录的事情,那怎么办?This时间pro时间lookout括号调用,拉倒。能不看到我们不用自己去跳到登录界面去了,因为我们的me有统一的判断。好,我们现在来去看一下啊,看下这个行不行,基本上现在应该都OK了,我们来去看一看,诶看有什么用户啊。想我的面登陆一下。嗯,有测试有角色,我我的这个我的这个用户管理,我要登录一个人,比如说硅谷一。还有什么搞个搞这个啊,这是我们后面加的一个开始007,密码是123123,他现在的角色是不是测试啊,嗯,我看一下现在测试的角色需要至少诶有这个角色管理没问题,好了,来我退出登录。
21:07
退出登录以后呢,我去整他密码是什么,123123走你点进去。进来了吧,进来以后呢,我去干嘛啊,改一下测试的权限,比如说我把这个去掉一下可以吧,接着点一下它。对吧,对吧,没问题。嗯,那就说明可以了呀。这是OK了呀。是吧?那这样我们就在我们的应用里面管理了两个状态数据了,用redu。啊,一个是我们头部的标题,这个比较简单,这个也没法请求。是吧,另外一个是我们的登录用户,这个时候是涉及到发请求的。嗯,那也是把不发请求,发请求都跟大家演示来一下,当只需要去,至少要保证把这两个给他写出来就OK了。
22:07
单老师是不是我们这个应用里面别的数据就不需要用它的管理了,也不是这么说啊,你有的数据啊,如果多个组件需要的时候也是可以去做的,只是这个两个呢比较典型,我们就用了一下,大家掌握这个技巧。啊,行。
我来说两句