質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

384閲覧

RailsとVueを使ってSPAを作る際のvuex

suny

総合スコア48

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/06/23 09:37

初めてRailsとVueでSPAを作って見ようと思っています。

Vueを勉強している時にvuexも勉強しました。

Vueでアプリを作る際はかなり有用だと思うのですが、Railsを使ってSPAを作る際にどのような場面でVuexを使うのか、どのようなメリットがあるのかまだわかりません。

APIにアクセスしてDBからデータを扱うだけではよくないのでしょうか。

Railsを使ってSPAを作成する際のvuexの基本的でよくある活用の仕方、またメリットも教えていただけると嬉しいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

個人的にはvuexが提供するstateというグローバル変数は果たして使うべきなのか疑問に思っているところです。
必要を感じるまで普通にvuexなしで作ってみるのが良いのではと考えます。
少なくともSPAを作る上で、vuexは必須ではない。
自分的には使う使わないは自由という立場です。

個人的にはこの記事に賛同するところがあります。
なんで Vuex はなるべく避けるの?

投稿2020/06/23 15:36

mingos

総合スコア4025

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suny

2020/06/24 10:02

返答ありがとうございます! 再度質問なのですが、実際に業務で使う際はどちらが多いのでしょうか。
mingos

2020/06/24 12:35

要件次第かと。 自分の場合、今はスマホゲーム(Unity/C#)を作っており、RailsはAPIと管理画面で使っているのですが、 管理画面のほうは最低限のことができればいいので、できるだけ時間をかけずにやりたいケースが多いです。 その場合、何でもかんでもvueで作る必要はないし、時間をかけては行けません。 (リリース後でも管理画面はメンテできるので、重要度はアプリ側にあります) 例えば、管理画面で単にユーザの一覧を表示したい場合、これはvue必要ないですね。 詳細ボタンを押したらポップアップで表示する必要があるかもしれませんが、こういうときにvueで部分的に作る事はありますが、明らかにvuexは不要です。 一方で複数のテーブルにまたがるようなデータを編集するようなUIを作ろうとした時、 普通のフォームだと不便なのでvueでSPAで作りますが、 この時も各コンポーネントにpropsで渡せば十分なケースもあります。 ただ、親コンポーネントから子コンポーネントを呼び出し、さらに子コンポーネントを呼び出して編集して親にもその情報を伝える必要がある時、propsだとつらいのでstateが欲しくなりvuexの導入を検討するという感じになります。 業務だからvuexを使うとか使わないではなく、必要な機能次第といった感じです。
suny

2020/06/25 10:20

詳しい回答ありがとうございました! よくわかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問