Victor Lam
Victor Lam

Reputation: 114

Should we convert mixins to the class-based component definition syntax in Vue 3?

After reading the plan for Vue 3, I noticed that the statement mixins will still be supported. However, Should I convert all of mixins components to class-based-components in case that Vue stops supporting mixins in the future?

mixins:

export default class MyComponent extends mixins(A, B, C) { }

Upvotes: 6

Views: 958

Answers (1)

Daniel Elkington
Daniel Elkington

Reputation: 3637

The class API that was originally planned for Vue 3 has been dropped and replaced with the composition API. While mixins will still be supported, composition functions have a number of advantages, such as avoiding namespace clashing, making it clearer where properties come from, and playing friendlier with Typescript.

Once Vue 3 is released I would recommend not writing more mixins but using Composition Functions. It'll be up to you to consider whether you rewrite old mixins - it will depend on whether you think the benefits of composition functions outweigh the initial cost of rewriting old mixins.

Upvotes: 6

Related Questions