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

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

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

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

Q&A

0回答

294閲覧

Vue3.0のcompostion APIとvuexの共存のさせ方、使い分け方にについて教えてください。

退会済みユーザー

退会済みユーザー

総合スコア0

Vue.js

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

3グッド

0クリップ

投稿2020/08/24 16:36

編集2022/01/12 10:55

vuejsについてドキュメントを読みました。
vue3.0になったときにvuexのような書き方はあまりしない方がいいのではないか?と感じています。
vue3.0で実際にアプリケーションを作っている方の意見が知りたいです。

以下追記になります。
理由と根拠について説明が抜けていたので記載します。

https://composition-api.vuejs.org/api.html#setup からの引用になります。

<template> <div>{{ count }} {{ object.foo }}</div> </template> <script> import { ref, reactive } from 'vue' export default { setup() { const count = ref(0) const object = reactive({ foo: 'bar' }) // expose to template return { count, object } } } </script>

https://jsfiddle.net/n9jmu5v7/1269/ からの引用になります。

<div id="app"> <p>{{ count }}</p> <p> <button @click="increment">+</button> <button @click="decrement">-</button> </p> </div>
// make sure to call Vue.use(Vuex) if using a module system const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment: state => state.count++, decrement: state => state.count-- } }) new Vue({ el: '#app', computed: { count () { return store.state.count } }, methods: { increment () { store.commit('increment') }, decrement () { store.commit('decrement') } } })

前者がVue3.0から搭載されるCompostion APIという機能を使ったものです。
後者が、vuexを使ったものです。
vueに対する理解が乏しいのですが、前者の方が短くかけているように見えるのが、圧倒的なメリットに感じています。
が、それだけではアプリケーションをうまく作ることができなかったり、設計上よくない点があったりなどがあれば教えていただけないでしょうか。

dameo, shibuyatakumi, yahsan2👍を押しています

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

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

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

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

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

miyabi_takatsuk

2020/08/24 16:41

> vue3.0になったときにvuexのような書き方はあまりしない方がいいのではないか?と感じています。 せめて、そう思う根拠を、コードを交えて記載すべきかと・・・。 あと、興味本位のアンケートはteratailでは推奨していないトピック内容です。
hentaiman

2020/08/24 22:34

検索して知見を得られないようであれば質問者自身が先駆けて様々な手法でコードを書いてその知見を広めて行くのもいいのではないでしょうか
退会済みユーザー

退会済みユーザー

2020/08/25 18:50

> せめて、そう思う根拠を、コードを交えて記載すべきかと・・・。 失礼しました。追記をいたしました。 > あと、興味本位のアンケートはteratailでは推奨していないトピック内容です。 興味本位のアンケートのつもりはなかったのですが、誤解を招きにくいようにタイトルを変更しました。
退会済みユーザー

退会済みユーザー

2020/08/25 18:52

> 検索して知見を得られないようであれば質問者自身が先駆けて様々な手法でコードを書いてその知見を広めて行くのもいいのではないでしょうか vuejsについて理解が浅いため、自分の方向性があっているのか確かめたくなり質問させていただきました。 もちろん試行錯誤はしていくつもりですが、識者の方々の意見を参考にしたく、、、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問