温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
那截止到目前呢,RO6里面常用的组件,常用的hoax都给大家说的呢,差不多了,回到我们的笔记里边,你发现常用的这七个内置组件OK了,然后常用的这六个hox也差不多了,当然还有这四个七八九十,这四个呢,不是很常用,但是大家也应该了解一下的,那我们先说这个七,你等我把七八九十都说完了,我们整体来一个总复习。首先说这个七,我们先读一下它的名字啊,叫做use in rotor contest,这个钩子呢,主要用于判断你当前组件是否处于路由的上下文环境中,哎,怎么样,这么一说是不是大家都懵了呀,啥叫路由的上下环?啥叫路由的上下文环境中呀?诶,一写大家就明白了。来回到我们的代码里,你记不记得我们在这个入口文件里边,通过RO这个路由器包裹了整个APP组件,对吧?那同学就可以这么说,APP这个组件连同它所有的子组件都是处于路由的上下文环境中的,比方说我来到APP里面,我去引入这个钩子,叫做use子in contest,我就直接做一个输出就得了,因为它的返回值是一个布尔值,我们看一下就可以。好,那前边呢,给你做一个分隔,加个艾特符逗号保存,来回到控制台看效果,刷新为帧,啥意思?就是你处于路由的上下文环境中,说白了,你目前所处的组件已经被b roer包裹了。
01:43
说老师,那你要这样说的话,那是不是意味着所有的组件只要是APP的子组件,那不都为真吗?是的呀,同学你注意啊,这块可不区分它是不是路由组件,只要你是APP的子组件,只要你被Barr包裹了,那么你就已经处于上下文环境中了。
02:04
比方说就是一个典型的一般组件,那我就引入这个use inro contest,然后我就输出,然后在这儿调一下,那前边呢,给你做个分隔,这回呢,我写几个星号吧,走来一个逗号保存啊,那看效果来到这边刷新不也为真吗?说老师那啥时候能为假呢?哎,就是这个组件呀,脱离了路由器的管理,比方说我给你临时写一个啊,它叫做DEMO,哎,就是做测试的RFC。走。那在这里边引入刚才咱说的那个hook,走在这儿做一个输出,那当然了,你得用这个组件对吗?哎,用就有特点了,这个DEMO我不希望它被路由器所包裹。那我就临时在这儿写一下,就是整个这个结构呀,都得换一换了,整体是个div里边有这些,但是同学路由器不包裹着这个DEMO,那这个时候它就不为真了,当然了,你这得引入它呀,走是当前目录下的pages,诶我没放在pages里,我放的是components下的DEMO,当然名字你得变一下,好看一下结构DEMO组件有被路由器包裹吗?没有,那这个时候它的输出就是false。
03:27
哎,说完了,但是大家可能会想,老师有啥用啊,一般我们做项目不都得是路由器包裹整个APP吗?诶,你得这么考虑啊,万一你是一个第三方组件的封装者,有的时候你特别需要知道别人是不是在路由这个环境下用你的组件的,那你就可以借助这个钩子呗,是吧?哎,好了,那我们就把这个呢说完了,那这一小节呢,我们停一下。
我来说两句