【ComponentPublicInstance和ComponentInternalInstance
What
ComponentPublicInstance :向用户暴露的组件实例的引用类型,即script中定义的export default对象,包含data、props、methods、computed等。
ComponentInternalInstance :Vue内部使用的组件实例类型,包括组件的响应式状态、 响应式依赖追踪、虚拟DOM渲染等内部信息。
使用时机
ComponentPublicInstance :编写Vue组件或使用Vue组件。
ComponentInternalInstance :Vue内部使用场景:
1. 自定义指令;
2. 声明周期钩子;
3. 渲染函数等;
使用角色
ComponentPublicInstance :开发者。
ComponentInternalInstance :Vue内部
How to get
在vue3中,通过getCurrentInstance来获取当前组件ComponentInternalInstance。
Extend
Component、Instance、Element联系和区别
它们是React的核心概念
Component(组件):界面可以拆分为一个个可以复用的模块,每一个模块就是一个组件,应用由若干个组件构成,一个复杂组件由多个简单组件构成。React通常用function或class创建组件。
Instance(实例):只有用Class定义的组件才有实例的概念,类组件实例化后的对象,储存本地状态和响应生命周期
Element(元素):应用中的最小构建单元,是一个普通对象,描述DOM节点或另一个组件,元素包含了组件的类型、属性以及子元素联系
- 组件通过返回一个元素树来描述用户界面的一部分,这个元素树由多个元素构成
- 实例是类组件的具体实现,元素可以看作是组件或实例在屏幕上的表示,实例通过渲染方法生成元素,最终在屏幕上显示为元素
- 它们扮演着不同的角色,共同构成了React应用的基石,使得开发者能够构建复杂且交互性强的用户界面。
不同点
- 组件可以是类或函数,但是元素只是一个描述DOM节点或另一个组件的数据结构
- 实例是类组件的一部分,存储状态和响应生命周期,而元素或组件不直接涉及状态管理或生命周期响应