---
title: Components
---

## Standards and Naming

[Base components](https://vuejs.org/v2/style-guide/#Base-component-names-strongly-recommended) (a.k.a. presentational, dumb, or pure components) that apply app-specific styling and conventions should all begin with the `Base` prefix.

Components should be named with a capital letter and in camel casing. Names should be very descriptive and if there are smaller components of the same type of component then that part of the name shoudl be first. For example `BookingForm`, `BookingSection`. Components can also go in a folder if there are many that are related to the one thing for example all booking components could go into a booking folder.

## Functional Components

These are components that are presentational or dumb components therefore they do not do much but just modify the UI. These are written with the word functional in the template. They do act a little different when refering to props and slots so keep that in mind when using them. Generally functional comonents are more performant.

```js
<template functional>...</template>
```
