Help us understand the problem. What is going on with this article?

Vue.js + Vuex でゼロからササッと2週間でフロントアプリ作り直してみて。

More than 3 years have passed since last update.

この記事は、ただのFlux的な実装してみたことの雑記です。m(_ _)m

"なんとなく"JSのブラウザクライアント側の仕事めんどくさいなぁ〜と思ってた

巷でよくきく話

  • 「なんか、いじるの怖い〜」
  • 「なんか、少しいじったらアプリ壊れた〜」

一言でいうと、改修の影響範囲が見づらい問題ですよね。
こういうことってしばしば起こるんですが、結構

俗に言う"バケツリレー"たくさんある&多岐に渡る → めんどいなぁわからんなぁ

の流れが多い気がします。

そんなこんなで、
バケツリレー辞めたい。
→ データのフローが1方通行で、アプリの状態が1箇所にまとまるFlux的なものやりましょう。

という流れはどこもありそう。

やってみて

基本的なVuexの考え方

以下の感じですね。
vuexのデータフロー
なんか、こう書いてあるとめっちゃきれいだけど多分もっとVue.jsらしさを出すとすると「Vue Components」のところを
「Vue Component, Vue Component, Vue Component, Vue Component…」
って書いたほうがわかりやすそう。

「なにいってんだこいつ」状態だとは思うんですが…笑

やってみて、最初慣れず…

最初、小さめの場所から実装してよかったなと思うんですが、Component毎にバケツリレーしてたVue.jsオンリーの考え方があるとStateをなんか変にWebComponent1つの単位で考えがちになっちゃってたんですよね(Stateにもたせる情報が適切でない状態で、作り始めに行ったり来たり手戻りをちょくちょく)。

フロントアプリの作り直しだったんのでStateに必要な情報等は最初からわかってたはず。
Stateにもたせる情報を適切に準備して、色んな人にタスク分散して実装していくことも可能だったんですが…

結局一人だけでまるっと2週間作業してリプレイス。

(「Vue Component, Vue Component, Vue Component, Vue Component…」の方がいいんじゃないかは、Fluxを知らなかった僕のただのぼやきでした。)

よかったこと

  • メンバーの声

「基本の考え方が分かれば、追加実装しやすそう」
「なんか、楽」
などなど…

よかったよかった。

  • やっぱりStateの値の変更が一方通行なのは、問題が出ても影響範囲や場所がすぐわかる。

悩み(?

  • 大した事ないstateも、Fluxの値変更の流れ全部実装してます。 例) モーダル的なもの表示、非表示 かつ そんな動作1箇所からしか使わない

→ なんか、ギプス的に全部stateに値もたせてます。
→ どのcomponentからもgetterで値を見れるので、他のcomponentとかから同じ処理やりたくなった場合はむしろ利点だから少しぐらいそこは工数かかっていいんじゃないか。。。

h0ng0yut0
https://hongo.dev エンジニア, ビジネスに沿ったシステム戦略立案, Web分析とCVR改善, SEO対策, プロセス改善, 開発ディレクター, 開発チームマネジメント, etc…
https://hongo.dev/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away