Functional — stateless, no instance. Class — OOP style, decorator-based.
Functional components:
1// Functional component2const MyComponent = (props) => {3 return h("div", props.text)4}56// Or with template7const MyComponent = {8 functional: true,9 render(props) {10 return h("div", props.text)11 }12}
Class components (deprecated):
1import Vue from "vue"2import Component from "vue-class-component"34@Component5export default class MyComponent extends Vue {6 count = 078 increment() {9 this.count++10 }11}
Best practices: