前端之render函数的理解

看项目代码的时候,一直会看到一个render函数,不管是react还是vue,那么这个render函数的作用具体是什么呢?

概念

render 函数渲染函数,它是个函数,它的参数也是个函数------即 createElement

作用

render 函数template 一样都是创建 html 模板的,但是有些场景中用 template 实现起来代码冗长繁琐而且有大量重复,这时候就可以用 render 函数

通常我们都会把我们的页面结构逻辑都写在 template 中,然后再通过vue将我们的代码转换成虚拟DOM,相比于真实DOM,虚拟DOM是通过js代码处理的,所以消耗的性能相对较小,当然大部分情况下使用 template 创建我们的HTML是可以的,但是在有些场景下,我们真的需要通Javascript的完全编程的能力来完成时,就可以用到 render函数,比之 template 更接近编译器

参数(createElement)

createElementrender 函数 的参数,它本身也是个函数,并且有三个参数

  1. 一个 HTML 标签名、组件选项对象,或者 resolve 了上述任何一种的一个 async 函数,类型:{ String | Object | Function },必填项
  2. 一个与模板中 attribute 对应的数据对象,类型:{ Object },可选
  3. 子级虚拟节点 ( VNodes ),由 createElement() 构建而成,也可以使用字符串来生成 "文本虚拟节点",类型:{ String | Array },可选

参考文档:

https://www.jianshu.com/p/d96bebc2bbc8

https://blog.csdn.net/libingjiedd/article/details/138509735

react render 渲染函数 - 简书

相关推荐
Csvn12 分钟前
TypeScript:你以为安全的 `JSON.parse` 其实是颗雷 — 运行时类型安全实战
前端·javascript
橘子星16 分钟前
深入理解线性数据结构:栈、队列与链表
前端·javascript
dadaobusi17 分钟前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端
用户0595401744617 分钟前
Redis 缓存过期不一致踩坑实录:一个 bug 让我排查了 3 小时,最终用 Pytest 自动化堵上漏洞
前端·css
东风破_18 分钟前
AJAX 异步请求:从回调地狱到 async/await,到底解决了什么?
前端
Larcher19 分钟前
JS 数据类型的八重人格与内存真相
前端·javascript
星辰徐哥22 分钟前
工具推荐:HTML5+AI开发必备的前端调试工具
前端·人工智能·html5
Full Stack Developme23 分钟前
Linux Shell 教程概览
linux·前端·chrome
Maimai1080824 分钟前
Web3 前端实时通信如何落地:从 SSE 订阅到行情、订单与账户状态更新
前端·javascript·react.js·前端框架·web3·状态模式
星辰徐哥24 分钟前
技能提升:自然语言处理在HTML5前端的应用
前端·自然语言处理·html5