Search code examples
vue.jsvue-componenteslintnuxt.jsstoryblok

Props should at least define their types


<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


Solution

  • 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://v2.vuejs.org/v2/guide/components-props.html#Prop-Types https://v2.vuejs.org/v2/guide/components-props.html#Type-Checks

    For your case:

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