Props should at least define their types

Kamil Septio Trojnar picture Kamil Septio Trojnar · Dec 6, 2018 · Viewed 12.5k times · Source
<template>
  <div 
    v-editable="blok" 
    class="util__flex">
    <component 
      v-for="blok in blok.columns" 
      :key="blok._uid" 
      :blok="blok" 
      :is="blok.component"/>
  </div>
</template>

<script>
export default {
  props: ['blok']
}
</script>

Im doing tutorial at Storyblok, and I do get such an error.

https://www.storyblok.com/tp/nuxt-js-multilanguage-website-tutorial#creating-the-homepage-components

Props should at least define their types vue/require-prop-types

Answer

Nicolas Pennec picture Nicolas Pennec · Dec 6, 2018

You have probably enabled ESlint on project initialization (see create-nuxt-app options), that activated this mandatory rule.

So you have to declare a following type:

  • String
  • Number
  • Boolean
  • Array
  • Object
  • Date
  • Function
  • Symbol

See Vue.js doc:

https://vuejs.org/v2/guide/components-props.html#Prop-Types https://vuejs.org/v2/guide/components-props.html#Type-Checks

For your case:

<script>
export default {
  props: {
    blok: Object
  }
}
</script>