00:00
好,你说我们现在的时间有什么问题啊?我刷一下,他不能一上来给我选中谁了,选中我当前请求的路径也不后,比如说我在这个上面刷新。还有一个问题。对,不应该默认选中我当前路径所对应的那个菜单项。是吗?再说一遍啊,应该一上来给我选中当前路径所对应的什么菜单项,这个时候就涉及到啊,我需要去给我的这个menu指定一个。不能选中谁是不是,好像咱见过是不。来。这个里面它啊里面有一个属性叫default selected case,哎,我们来看一下文档里面啊,有没有这个东西。
01:05
嗯,我写多了,那是他是吧。哎。啊,我想一下大家看这个。将default selected。K它的值是个什么类型数组?因为啥是个数组啊?因为可以一下选中多个。当然我们只需要选中几个,一个听懂了不,它可以让多个群众,那这个里面的值写哪一个值呢?比如说我想啊,我写一下吧。我想让首映。给我选中,我应该怎么做?那这个里面写什么字呢?这个数组里面。写的是我那个home首页所对应的那个什么呢?K的值它可以是多少?
02:05
写,然后这是个字,算吧。听懂了吧,那也就是说我无论在哪个路径上算。大家看看,我现在实在是请求优了,这对吗?不对。能听懂不,这不对。你死了吧,那我写多少合适?这个是不是得去找看一下我当前请求的是哪个路径。这是不是跟我当前请求路径有关系?能听懂不,那这个怎么做呀。来,把这些东西都干掉啊,走不掉了。其实这个我们等会都可以优化,还可以优化,等会再说来看好了。我在这个地方需要去取一下得到当前请求的路由路径,听到不?你知我要得到一个pass吧?
03:07
是吧,那这个pass怎么取呢?我先写了来。当前路由路径怎么学的,不知道还记不记得?好。那个我们说过那个路由组件里面是不是有三个重要属性来着,有pro,有那个history history里面是不是一些方法来控制入跳转呢,我们不用它。还有什么?Location。好像还有一个。叫什么好像叫麦叫什么,来看一下怎么看的说我忘了。是吧?我就忘了怎么看呢?比艾,接着我们找到一个路由组件,是不是,比如说我们当前路由组件是不是有秘。对吧,那就看me,这不是有history location以及什么nice,其实你就把它们打开,看看谁里面有我想要的。
04:09
请求路径嘛,这不是有一个pass吗?能看到吧,这个location是不是有一个,那也就是说我应该怎么取。This点点是这个pass,而将这个pass作为K,它是不是就是一个K啊,交给谁?这样一个数组,你说是不是这能听懂不能听懂,那好了,但是问题来了,我要告诉你。现在我的这个组件,它不是路由组件。能听到同学说,你现在来看一下我们的主页啊,这里面我先把它注释掉啊,因为它报错了啊来。
05:08
嗯。哦,这面还不行,暂时啊。因为我用到怕什么对吧,来看好了,我现在实际上是我们当前的这个问题啊来。说一个什么事呢,大家看好了,我现在去查看一下我的level。什么问题?我收到这三个属性了吗?有没有,那我能去取吗?那我一取必然是出现什么错误,你告诉我这个对象是个什么。必然出现一个么?好,来看下这个错误,这个错误会经炒到。
06:04
说的什么意思?说的是吗?是说他内容是你什么什么意思。这个老外跟中国人表达不太一样。啊啊,老外的表达是,比如说啊,我的书。对吧?啊,他会说look me。听到吧。就先说那个主体,再说那个前面的修饰语,我们我们中文的表达是不是先说修饰语啊,我的书能听懂吧,那这是个什么意思呢?这个说的是你不能在安迪上面去读什么呢?Pass。也就是说你不要在any上再去读pass STEM属性了,听懂了吧,这个of下面的意思,但是它不是pass的。
07:01
是什么?这个英文表达还是有点不太一样,是不是,那也就是说我问大家谁是安,请告诉我。的是方,为什么三什么时候读一个属性三块呢?我给大家写一下a.b.c。现在说啊B是,那必要说错吧。那肯定会说什么cant read property b of a c of,什么I find,因为B才find,对不对?那说明一个什么问题呢?有没有可能A是20FIND?不可能。如果它提示说啊,康德瑞的C方的话,那A不可能是方。嗯。
08:00
说明A应该是个对象是不是,那也就是说取一个对象的属性值什么时候三进半的呀,没有这个属性不存在的属性对不对。能听到吧,那也就说白了,面没有谁,为什么没有?很简单,因为我不是个什么路由组件。听懂了不好,那怎么办呢?这里面它提供了解决办法,也就是说你不是个路由组件,你但是呢,你想。去得到路由组件拥有的那三个属性是有办法的,什么办法?你写大段有一个函数叫为之,如。哎,这些是吧,啊。来给大家写一写,这是个函数,这个函数呢是个高阶组件。我们说高阶组件用来干嘛的?包装一个,已有的组件是不是包装一个?大家看我先写一下吧。
09:07
包装谁了?包装的就是我的这个来听懂了吧。那这个时候必然出问题,因为我这个前面已经有一个什么。也不能有两个是不是这一个是一个什么来高阶组件吧,我们说高阶组件是个函数吧,这个函数干嘛呢?包装一般啊,非路由组件强调一下非路由组件对吧?返回一个是不是新的组件,新的组件,那新组件会向非路由组件传递什么东西。新的组件,它的责任是什么呢?向非啊,被包装的就是非路由组件传递三个属性,哪三个呀?
10:10
对吧,History还match。他是不是觉得他是想到你会有这种需求,是不是?嗯,咱确实现在就有这种需求嘛,对不对,好了,那咱来看一看。现在是不是没有报错了,也选中了吧。来,我改一个,我改一个,改一个改一个改成改成什么呢?改成角色可以不走你。可可可以了吧,啊,没有太大问题的对不对啊,再来吃一个。是不是可以?
11:02
OK吧,OK,但是。还有问题,还有问题啊,什么问题呢,大家看一下,如果我是不是有可能先请求跟你。来看好了啊,我请求跟走你。选对了吗?没有,这个没有的原因是什么呢?这个得说一说。啊,这个来说一下,说一个事情大家看好了,回到我最先写斜杠路径跟路径的时候,它是不是会请求到我们的这个。匹配到我的密码,只是说通过这个direct是不是跳转到了后。是。这个地方叫做这一个level。它是有更新的啊,什么意思呢,我来去把这个level啊,把它的这个render给它打印一下。
12:04
嗯,这个是render,好,同时我把这个把这个哪个东西打印下来,这个pass打印一下。就看一下我当前请求路由路径是多少,可以吧?啊,可以,你来观察一下现象。现在我是不是请求的,是不是这个后。看到了吧,好。我来换一种写法,我先请求根路径。啊,我把这个清掉啊。看好了,走你。看这里看好啦。是先。第一次的时候,是不是一个跟路径的请求,跟路径请求的时候,我的这个我的这个啊,Life的level是不是就已经创建了。那也就是说我的这个menu是不是已经指定了,它的默认的选择K已经是一个斜杠了。
13:06
是吧,后面你是不是更新为了斜杠home。没用。默认的只能指定一遍。你再指定一个词是没用的啊,怎么做才行呢?其实很简单。来看好了,它除了有default selected case,它还有一个更加好用的。Selected,这是个动态的,你指定什么值,我就根据这个值去动态的匹配。这个职位在初始第一次指令的时候匹配一次。而我这个呢,你只要改了,我就会重新匹配。听懂了吧?那你说我换成什么?Selected pace。你来看一下啊,作用是一样的,作用是一样的,听懂不来看一下我们现在啊,如果写home那肯定没问题。
14:03
能听到,不好,我们不选它,走里。对不对。为什么对呢?是因为我开始指定了斜杠,后来是因为什么斜杠后。他是不是就更新了。认同不啊,说白了他开始是没有选中的,后来是不是变成选中了,嗯,这是这一个。你说老师你文档里面他都不这么写的,那我怎么到时候我怎么知道有这个属性呢,那就说嘛,出了问题你再去。去看嘛,有还有一些配置可以配吗。当然,老师,你的眼睛这么精吗?一下子就定位到这里来了。那当然不是。嗯,但是咱现在讲课不能说把这个设一下,把这个整一下,把这个整一下都整一些没用的吧。是不是总得直接告诉你哦,这里面有一个比较好用的是不是。二啊,这是这个。
15:04
这里面主要涉及到一个重要知识点,就是如何让一个非路由组件。让一个非路由组件能够去变成一个类似于路由组件的组件。用谁?就说白了,就像一个非路由组件变成一个路由主件那样子吧,是吧,很简单对不对。这是个高级函数吧,高级组件当然也是高级函数,是不是能听懂吧?嗯,好,这是一个啊。
我来说两句