#独家
Vue中曾经出现的是做什么的?

2023-06-24 0 3,944

在学习Vue源码时偶然发现,有个processRender(element),该函数定义为

// 2.0.0-alpha.1 src/compiler/parser/index.js 125行
function processRender(el) {
    if (el.tag === 'render') {
        el.render = true
        el.renderMethod = el.attrsMap[':method'] || el.attrsMap['v-bind:method']
        el.renderArgs = el.attrsMap[':args'] || el.attrsMap['v-bind:args']
        
        if (process.env.NODE_ENV !== 'production') {
            if (el.attrsMap.method) {
                warn('<render> method should use a dynamic binding, e.g. `:method="..."`.')
            }
            else if (!el.renderMethod) {
                warn('method attribute is required on <render>.')
            }
            if (el.attrsMap.args) {
                warn('<render> args should use a dynamic binding, e.g. `:args="..."`.')
            }
        }
    }
}

里面有<render>标签,但在2.0.0-alpha.5中取消了这个标签和processRender的处理。2.0.0-alpha.5的Release Notes中说

The <render> tag is removed in favor of stateless functional components.

想知道这个标签是干嘛用的,百度谷歌都搜不到一点信息。它和无状态的函数式组件又有什么关系?

简单说一下,没有必要深究这种没有在正式版本中出现的功能,特别还是 alpha 版本。
很多功能都是实验或者尝试性质的特性,大概知道他想实现什么功能就好了。

版本说明中提到了一个 recorded video 可能会对你有所帮助。

无状态组件其实就是 函数式组件,所以应该目的就是为了实现类似的功能。

可以在测试用例中(test\unit\features\render\render.spec.js)看到使用方式并不是十分友好,并不如函数式组件简单好用并且符合直觉。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 Vue中曾经出现的是做什么的? https://www.jkxiazai.com/1855.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务