一、vue2中关于render的地址如下:
官网关于render描述的链接
源码如下:
render?(this: undefined, createElement: CreateElement, context: RenderContext<Props>): VNode | VNode[];
解释:
vue2中第一个参数是h(其实就是creteElement方法),调用这个h返回虚拟dom(也可以直接写jsx方式),第二个参数是context,用于获取上下文信息。而且vue2中的render是个钩子函数,会自动执行的,最终会返回一个虚拟dom。
二、vue3中render
vue3中render是个渲染器,用于将虚拟dom渲染成真实dom,
官网文档
源码如下:
export declare type RootRenderFunction<HostElement = RendererElement> =
(vnode: VNode | null, container: HostElement, isSVG?: boolean) => void;
说明如下:
第一个参数是虚拟dom,
第二个参数是要渲染的容器元素。
虚拟 DOM 创建完成后,需要使用 render 函数,才能在页面中渲染。
vue3中render函数是个api,需要通过import {render} from 'vue’的方式引入,然后手动调用。
其实vue2和vue3中关于render的差别很大的,但是很奇怪为啥官方文档没写。