<RouterView name='main'>
{
({Component:X,route:R}: { Component: VNode, route: RouteLocationNormalizedLoaded })=>
<Transition
enterFromClass={s.slide_fade_enter_from}
enterActiveClass={s.slide_fade_enter_active}
leaveToClass={s.slide_fade_leave_to}
leaveActiveClass={s.slide_fade_leave_active}
>
{X}
</Transition>
}
</RouterView>
在TSX文件中使用Transition,通过上边的代码块可以看出,在RouterView组件中通过{}的形式,利用对象解构解构出,RouterView将要渲染的组件以及路由信息,即Component对应将要渲染的组件(我们可以解构出组件,并在下方应用到),route即是路由信息。 Component对应的类型是VNode(在vue中导入并使用)route对应的类型是RouteLocationNormalizedLoaded (在vue-router中导入并使用),通过函数的形式拿到这两个参数时,return出需要做动画的组件,(一定要用Transition组件包裹住(Transition组件在vue中导入并使用))其中X为组件,其组件名可自定义,在Transition组件中的class类名就是动画类名,详见vue-transition模块