ハッピーメモメモ

私的備忘録

【Vue】Vuexをわかりたい!

 

○困ったら見立さんにきいてみる!

 

入門

・教科書p352~

・最初に実行されるファイル

 Vue     「main.js」

 Vue+Laravel 「app.js」

// vueのライブラリ(カタログ:package.json,
//     本体:node_modules)の中のvueを読み込む
import { createApp } from 'vue';
// App.vueファイルの中の(exportで定義された)全てを読み込む
// →これによって、連鎖的にApp.vueに記載したコンポーネントが呼ばれる
import App from './App.vue';
// routerファイルの中のrouter(exportで定義)を読み込む
import { router } from './router'
// storeファイルの中のstore(exportで定義)を読み込む
import { store } from './store'

// 使うよ~ってやつ
createApp(App)
    .use(store)
    .use(router)
    .mount('#app')

☆使わないやつ(export)も読み込むとめちゃくちゃ重くなってしまうので、

 {}で必要なやつだけ指定できる!

☆指定しなかった場合は全部呼び出される

☆「node_modules」の中に「vue」と「@vue」があるけどなにが違うのか?

 「vue」vueライブラリ本体

 「@vue」vueをつくってる組織がつくった、vueを便利に動かすためのものをまとめたもの

reffect.co.jp

 

script内での値の取り出し

f:id:n-moeko1966:20220124162827p:plain

 

公式リリースされた Vuex 4 を使ってVue Composition API で状態管理する

 

別のPCでやるには

・Git Clone

・npm install

きちんとわかる、npm install | 第1回 PCにコマンドをインストールする | CodeGrid


 

寄り道

○exportってなに?

・export default でメンバーを囲むことで、外部(他のコンポーネント)からも参照できるようになる!

export defaultについて - Qiita

 

○export default と export const は何が違う?

・importみたいに1つのコンポーネント内に何個もかける!

・複数exportがあって、名指しではなくふわって呼ばれたときに、デフォルトで呼ばれるやつを決めるのが「export default 」。なので基本的には「export default 」で書くべき!

・ただ、「export default 」と書けない場合がある…

・関数の宣言には文と式がある(Javascript p200~)

①関数宣言「文」

f:id:n-moeko1966:20220121162705p:plain

②関数「式」(変数に代入してるやつ!)

f:id:n-moeko1966:20220121162752p:plain

関数宣言と関数式の違いとは?[JavaScript]:.NET TIPS - @IT

→式の場合、constとdefaultは同時にかけない!

f:id:n-moeko1966:20220121163039p:plain

→なので、こんな風にあとから書いたりするよ

f:id:n-moeko1966:20220121163134p:plain

結論:「export default」デフォルトで最初に呼ばれるやつ

   「export const」式でdefaultが書けないときに書くorデフォルト以外のやつにかく

 

○「export default 」のいいところ

自由に名前がつけられる!

 
import { createApp } from 'vue';
import App from './App.vue';
import { routerR } from './router'
import { store } from './store'

createApp(App)
    .use(store)
    .use(routerR)
    .mount('#app')

パスで場所を指定してるので、本体の名前を呼んでないからいける…?

default ではない場合、構文エラーを見張ってるやつがみてる範囲によってエラーがでたりでなかったり?

エラーを見張ってるやつが1つのコンポーネント内しかみてなかったら、他のコンポーネントとの齟齬があってもエラーはいってこんもんね!