質問: 0; i < res.data.books.length; i++) { state.books.push(res.data.books[i]); } }, (error) => { console.log(error); }); } }, }) ```
回答: 「ツール」で変更を追跡できるようにするためのようです。どういったシチュエーションで変更を追跡したくなるかは、以下の資料を参考にしてください。 * Vuex Action vs Mutations - Stackoverflow ここで言う「ツール」とは、例えば Vue.js devtools を指しているかと思われます。 * Vue.js devtools - Chrome ウェブストア 「ツール」で追跡するためには、「非同期処理」があると追跡できなくなるそうです。なぜ追跡できなくなるかは、自分もわからないのですが。 * ミューテーションは同期的でなければならない - Vuex では「非同期処理」がなければ action を使わないで、直接 mutation を呼び出して良いのか?と言う疑問があります。以下の資料によると "個人的には呼び出してもいいと思っているが、プロジェクトとしては呼び出しを禁止することは多い" とのことです。 * mutation はコンポーネントから呼び出していいか? * Vuex ってなに?