web-dev-qa-db-ja.com

小道具は少なくともそのタイプを定義する必要があります

<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>

Storyblokでチュートリアルをやっていて、そのようなエラーが出ます。

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

小道具は少なくともそれらのタイプを定義する必要がありますvue/require-prop-types

プロジェクトの初期化でESlintを有効にした可能性があります(create-nuxt-appオプション)、この必須ルールをアクティブにしました。

したがって、次のタイプを宣言する必要があります。

  • ストリング
  • ブール
  • アレイ
  • オブジェクト
  • 日付
  • 関数
  • Symbol

Vue.jsドキュメントを参照してください:

https://vuejs.org/v2/guide/components-props.html#Prop-Typeshttps://vuejs.org/v2/guide/components-props.html#タイプチェック

あなたの場合:

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

現在のnuxtバージョン(v2.8.1)では、次のようにpropsを設定する必要があります。

<script>
export default {
  props: {
    blok: {
      type: Object,
      default: null
    }
  }
}
</script>
5
Ali David