We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.2.20
codesandbox.io
Reactivity API 我注意到这份文档里面并没有有关响应式API互相嵌套时的具体行为,有时候解包,有时候不解包,这很令人困惑。 只有当你看完源码才能大概知道那些行为是解包,那些行为是不解包的;
比如,当reactive里面嵌套着shallowReactive时,无法得知到底具体行为是什么? 点击例子 这时候由于reactive和shallowReactive两个API的返回类型有问题,实际上是可以正常运行的,但是typescript并不能很好推导出来正确的类型
这样的例子很容易列举出来,例如 #4732,我认为这样的TS类型和具体逻辑不一致的情况,在vue3中很容易出现。 困难的地方就是不同的响应式API可以组合的情况太多了。 所以我认为问题的根源是响应式API的具体行为不明确导致的,文档里面应该清楚描述这些API互相嵌套时的具体行为,用于指导这些类型互相嵌套时的具体行为,然后用以指引TS类型。
typescript推导的类型与实际运行结果不一致
The text was updated successfully, but these errors were encountered:
Sorry, something went wrong.
20a3615
No branches or pull requests
Version
3.2.20
Reproduction link
codesandbox.io
Steps to reproduce
Reactivity API
我注意到这份文档里面并没有有关响应式API互相嵌套时的具体行为,有时候解包,有时候不解包,这很令人困惑。
只有当你看完源码才能大概知道那些行为是解包,那些行为是不解包的;
比如,当reactive里面嵌套着shallowReactive时,无法得知到底具体行为是什么?
点击例子
这时候由于reactive和shallowReactive两个API的返回类型有问题,实际上是可以正常运行的,但是typescript并不能很好推导出来正确的类型
这样的例子很容易列举出来,例如 #4732,我认为这样的TS类型和具体逻辑不一致的情况,在vue3中很容易出现。
困难的地方就是不同的响应式API可以组合的情况太多了。
所以我认为问题的根源是响应式API的具体行为不明确导致的,文档里面应该清楚描述这些API互相嵌套时的具体行为,用于指导这些类型互相嵌套时的具体行为,然后用以指引TS类型。
What is expected?
What is actually happening?
typescript推导的类型与实际运行结果不一致
The text was updated successfully, but these errors were encountered: