We should define properties in the props property so that they're as detailed as possible by specifying their types (at a minimum). It is only okay to not have detailed definitions when you're prototyping. For example, this is considered bad practice:
props: ['message']
This should be written as follows:
props: {
message: String
}
Or, even better, it should be written as follows:
props: {
message: {
type: String,
required: false,
validator (value) { ... }
}
}