Vue 3:getCurrentInstance() 是否已弃用?

zeo*_*dtr 15 vue.js vuejs3

我在一些旧的(?)文档和代码中看到了对getCurrentInstance()函数的引用,但在当前的 Vue 3 文档中找不到它。

getCurrentInstance()弃用吗?

如果有,原因是什么?(inject()考虑够了吗?)如果没有,为什么我在文档中找不到它?

ton*_*y19 35

getCurrentInstance()已从 Vue 3 文档中删除,因为它是内部 API

因为实例是暴露非公共API的内部实例。从技术上讲,您从该实例使用的任何内容都可以在任何发布类型之间进行中断,因为它们不受 semver 约束。


getCurrentInstance()最初记录于 2020 年 10 月 4 日,但后来在 Vue 的创建者(Evan You)对 Composition API 文档的重大重构中于 2021 年 8 月 31 日删除了该内容。尽管它从文档中删除,getCurrentInstance()但仍然:

鉴于它是一个未记录的内部 API,请谨慎使用。


aka*_*han 5

https://github.com/vuejs/vue/issues/12596#issuecomment-1173269807

引用埃文的评论,

getCurrentInstance 主要用于需要额外内部访问的官方 vue 库,而不是用于用户态应用程序代码。它被错误地记录在 WIP v3 文档中,但不再被视为公共 API