Vuexとは
データとその状態に関する全てを一元管理する状態管理
のこと
propsや$emitを都度使用することなくデータを参照できる。
アプリケーションの規模が大きくなればなるほど需要が高まる
Vuexのメリット
先述したとおりpropsや$emitを都度使用せずにデータを参照できる。
Vuexによって管理されているデータもリアクティブになっているため、コンポーネント構造状態に関わらず、使用している場所で常に同期されている。
また、状態管理専用ライブラリのため、データを保持する以外にもアプリケーションレベルでデータを管理したり、いくつかの状態をグループ化して管理できるモジュール機能など、状態管理に様々な機能を持っている。
コンポーネントとは
機能を持つUI部品ごとにテンプレートとJavaScriptを1つのセットにして、他のUI部品とは切り離した開発及び管理できるようにする仕組みのこと。
上記画像のトップ画面にログインボタンを表示するか否かはユーザーのログイン情報の有無によって変わるが、ここで出てきたユーザーのログイン情報をアプリケーション単位で一元管理してくれるのがVuex
となる。