サイトアイコン 上尾市のWEBプログラマーによるブログ

「後悔しないためのVueコンポーネント設計」の感想・備忘録1

書籍「後悔しないためのVueコンポーネント設計」のまとめ。

点数

75点

感想

コンポーネントの設計がわかりやすく、論理的に説明されていた。

テストしやすいコンポーネントは「機能が少なく状態を持たない」というのは間違いないが、その分作成コストがかかってしまう。
ちょうどいい粒度にコンポーネントを分割することは、なかなか難しいことだと思う。

テストしやすいコンポーネント

テストしやすいコンポーネントとは

  1. 機能が少ない
  2. 状態を持たない
<div v-for="item in items" :key="item.id" >
  <span>{{item.label}}</span>
  <button @click="clickItem(item)">{{item.label}}</button>
</div>
は
<Item v-for="item in items" :key="item.id" v-bind="item" @clickItem="onClickItem" />
とし、Itemコンポーネントで以下のようにする。
<span>{{label}}</span>
<button @click="clickItem">{{label}}</button>

Propsの型指定

子から親への伝達

ライフサイクルフックに処理を書かない

mounted() {
  this.hoge();  
}

コンポーネントの分類

コンポーネントの分類パターン

Presentational Component

Container Component

ディレクトリ構成

筆者のディレクトリ構成

basics

components

containers

pages

モバイルバージョンを終了