iCARE Dev Meetup #19 2021/03/17
Vuex is an awesome state management library. It's simple and integrates well with Vue. Why would anyone leave Vuex? The reason can be that the upcoming Vue 3 release exposes the underlying reactivity system and introduces new ways of how you can structure your application. The new reactivity system is so powerful that it can be used for centralized state management. Do You need a shared state? The
こんにちは。Webフロントエンドエンジニアの松井菜穂子です。 ZOZOテクノロジーズに入社して一年ほど経ちます。 あるサービスの立ち上げから運用まで、Webフロントエンドのチームリーダー・開発メンバーとして関わってきました。 当記事では、当社のWebフロントエンド開発現場にあった問題と、それぞれの課題に対して堅実に積み重ねた技術的な改善方法についてご紹介します。 はじめに モダンな技術でも負債は生まれる 負債を何故改善するのか 要因 その1: Vueコンポーネントを綺麗に分割する テンプレート コンポーネントクラス 使用例 解決策 テンプレート コンポーネントクラス 使用例テンプレート 使用例コンポーネントクラス コンポーネントカタログで汎用化を促す コード テンプレート(atoms.vue) コンポーネントクラス(atoms.vue) サンプル その2: Vuexをシンプルにする Sta
Vue.jsにおける状態管理方法として何を使っているでしょうか。 dataにつっこむ ReduxとかMobXとか といった方法もありますが、もっともメジャーなものはVuexでしょう。 Vuex&TypeScriptがなかなか大変 フリーダムなフロントエンドに疲れたのか、最近はTypeScriptを採用するケースも増えているかと思います。型で保証されている安心感は一度味わうと抜けられないですよね。 しかし、実際やってみた方であれば実感するかと思いますが、VuexとTypeScriptを組み合わせるのはなかなかに大変です。 クラスコンポーネント化したVueコンポーネント内でのVuexとの接続に関しては、ktsnさんが公開されているvuex-classを利用することで可能となります(ありがたい)が、Vuex内部でのstate/getters/actions/mutationsの定義においてきっち
こんにちは、自意識過剰な正義のヒーローでお馴染みの株式会社SCOUTERの石岡 将明( @masaakikunsan )です。 前回の Flutter のブログで、「2月半ばにAPIの叩き方やページ内のレイアウト作り方などをちゃんと解説したブログを書こうと思うのでお楽しみに!」と言ったのですが、あれ以降 Flutter を触れていないので今回は普段触ってる技術について書きます。 techblog.scouter.co.jp 現在 SCOUTER では、SARDINE と back check の大きく分けて2つの開発チームで開発を行っています。 僕は、back check で プレイングマネージャーとして開発をしているのですが、SARDINE チームに最近フロントエンドの相談を受けるようになってきたので今回はその話をしていきます。 Vuex でのルール Vue や Nuxt で開発している
追記 2019/12/05 Vue 3.0 のリリースが現実的に近づいてきて色々と事情が変わっているので、話半分に聞いておいてください。 はじめに Patreon での支援募集をはじめました。この記事が良かった!という方は、今後の情報発信のためにもぜひぜひ支援お願いします。 https://www.patreon.com/potato4d Vue.js Advent Calendar 2018 年の管理役の potato4d です。昨年に引き続き、今年も Vue.js のアドベントカレンダーは他にもたくさんあるので、ぜひ #1 から追ってみてください。 12日目の今日は、 Vue.js + TypeScript での理想的な開発環境について考えてみたいと思います。 Vue.js における TypeScript 利用はまだまだ課題が多く、型の恩恵をうけるためのテクニックも複数存在しています。
Frontend Conference Fukuoka 2018 https://frontend-conf.fukuoka.jp/sessions#b-7 #fec_fukuoka
概要 会社のプロジェクトでNuxt.jsとVuexとTypescriptを使用していて、Vuexのcommitやdispatchの引数を型推測してくれないところでなんとかならないかなと思ったのが発端です。 課題感 具体的には以下のようなコードの時にcommitするmutationsに応じて引数の型チェックしてくれることが期待する挙動です。 type State = { hoge: string; fuga: number; }; type ChangeHogePayload = { value: string }; type ChangeFugaPayload = { value: number }; export const state: () => State = (): State => ({ hoge: '', fuga: 0, }); type Mutations = { cha
スタディスト開発部、フロントエンド担当の小宮山です。走ることが楽しくなりすぎてフルマラソン完走が当面の目標です。 今回は私達が進めているUIリニューアルプロジェクトにおける、フロントエンド設計の心臓部についてご紹介したいと思います。盛り上がりつつあるものの、まだまだ実践的な情報が少ないVue界隈に少しでも貢献できましたら幸いです。 画面駆動Vuexの頃プロジェクト始動当時は私含め大規模プロダクトにVuex(さらにその他Flux状態管理も)を導入して開発を進める経験も知見もほぼない状況でした。 そして開発していく画面デザインの大枠は出揃っている状態だったので、計画も実装も画面単位で区切って進みだしていきます。 こうした状況でVuexのstoreはどのような方針で実装されていくか。正確に表現するなら、特に方針なく実装していくとどうなるか。画面ファーストで、画面から使いやすく、画面ごとに専用なs
去年から作っていた Vue のモーダルコンポーネント vue-thin-modal の v1.0.0 をリリースしました。仕事でも結構使っていて、特に大きな問題もなく、API も安定しているのでメジャーバージョンを上げました。 vue-thin-modal は世の中の多くのつらいモーダル実装を見て、つらくならなくするために作ったライブラリです。主に以下のような特徴があります。 モーダルはどこに置いても DOM の実態は <body> 直下にマウントされる (いわゆる Portal)。 モーダルが開くと通常のコンテンツ部分はスクロールが止まる。モーダル内のコンテンツがウィンドウサイズを超えてもスクロールできる。 これで発生する、スクロールバーが消えることによるガタツキを防ぐ実装もしている。モーダルを閉じたときに元のコンテンツにフォーカスを戻す。 デフォルトの CSS スタイルが提供されていて
VuexのmapStateは書き方にバリエーションがある。ここではできるだけ多くのパターンを紹介する。 まず、話を具体的にするために次のようなストアを前提にする。 const profile = { namespaced: true, state: { twitter: "@suin", facebook: null, text: "よろしく〜" } }; const user = { namespaced: true, state: { name: "suin" }, modules: { profile } }; const post = { namespaced: true, state: { title: "VuexのmapStateの書き方", tags: ["JavaScript", "Vue", "Vuex"] } }; const store = new Store({ s
注意 これは、Vue 3 で動作する Vuex 4 のためのドキュメントです。Vue 2 で動作する Vuex 3 のドキュメントをお探しの方は、こちらをご覧ください。 Vuex は Vue.js アプリケーションのための 状態管理パターン + ライブラリです。 これは予測可能な方法によってのみ状態の変異を行うというルールを保証し、アプリケーション内の全てのコンポーネントのための集中型のストアとして機能します。 "状態管理パターン"とはなんですか? #単純な Vue で作られたカウンターアプリをみてみましょう: const Counter = { // state data () { return { count: 0 } }, // view template: ` <div>{{ count }}</div> `, // actions methods: { increment ()
Ancient Brazilian web developer, from php, through Rails to Javascript, Vue.js enthusiast to React.
いいにくの日ですね。肉食べたいです。 React + Redux にはよくお世話になっている昨今なのですが、React 以外も扱いたいなと思ったこと、そもそも Flux に対する理解が浅いんじゃ無いか?ということで、Vue.js + Vuex をちょっと勉強してみました。 つくったもの:https://github.com/torounit/vuex-todo ここら辺をいろいろ参考にしました。 Vuex のドキュメント Vue.js用のFluxライクなライブラリVuexを試してみる – Qiita Vue.js + Vuexで開発をしてみよう! – Tech Blog – Recruit Lifestyle Engineer Redux と Vuex の違い。Reducer と Mutation の違い。 両方とも Flux パターンであるため、基本的な考え方は変わりません。ただ、Red
概要 JavaScriptの Object.create(null) はなぜ使われるのか。 {}での初期化とは何が違うのか。 きっかけ Vuex のソースコードを読んでいて、 Object.create(null) という見慣れない記述を見つけました。 リテラル {} ではいけない理由が気になったので、なぜなのか調べてみました。 対応ブラウザ Object.create は Internet Explorer 9 を含めたモダンブラウザで利用可能です。 - http://kangax.github.io/compat-table/es5/#test-Object.create - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create Object.crea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く