dev.to | 📄 原文链接 | 2026-11-10 收录

把 Vue 动态组件变得更稳:给 :is 加类型和 props 约束

来源:dev.to — 2026-11-09

📋 概述

原生 <component :is> 太灵活:is 既可以是字符串也可以是组件对象,组件名拼错(AsewomeButton)编译器不会发现,props 也没有类型检查,一个 div 可能收到 text 和 @click。作者团队先试 ESLint 禁字符串 is,解决不了 props 问题,于是封装了 DynamicComponent:用联合类型约束可传的 props(只允许候选组件共有的键),允许 div 这类原生标签,但禁止把组件名当字符串传,内部用渲染函数实现,用法几乎不变。

🔑 核心要点

💡 金句

“These problems can be difficult to track as the linter, compiler or TS check could miss them as technically they are correct.”
译:这些问题很难被发现,因为 linter、编译器和 TS 检查都会漏掉它们——技术上它们是对的。
← 返回 dev.to 首页