LoginSignup
2
0

More than 3 years have passed since last update.

【React/Vue】ReactReduxとVuex 概念の互換性

Posted at

記事について

この記事は、駆け出しエンジニアの僕がVue→Reactの翻訳学習の際に、より理解を深めるために綴っている記事です。
Vueについてはあまり学習しておらず、Reactに重点を置いて学習をしています。

拙い部分があるかもしれませんが、ご指摘・ご意見がある際は是非お願いします。

概念

ReactReduxとVuexでの基本的な概念

ReactRedux: State / ActionCreator / Action / Reducer / Store
Vuex: State / Getters / Mutations / Actions / Store

それぞれの互換性について理解を深めて、React ⇆ Vueの翻訳に役立てる

Reduxの概念について

  1. State: データを保持する領域  
  2. ActionCreator: Actionオブジェクトを生成する関数

  3. Action(object): Actionの情報をもとにステート更新を行う。Storeの「dispatchメソッド」でStoreにActionオブジェクトを渡す
      ※thunkなどで非同期を実装する際にはobjではなく関数をStoreに渡す

  4. Reducer: Actionと現在のステート情報をもとに新しいステートを生成して、Storeに保持する

  5. Store: ステートをもつ。store周りのメソッドをもつ。

Vueの概念について

  1. State: データを保持する領域  
  2. Getters: ステートに加工したデータを返す機能(同期処理only)

  3. Mutations: ステートの変更を行う機能

  4. Actions: 内部でMutationを行いStateを更新する機能(同期処理&非同期処理)

  5. Store: 1~4を保持するオブジェクト

互換性

reduxで非同期を実装する場合は、適応したライブラリのインストールが必要

ReactRedux(x) / Vuex(y) State ActionCreator Action Reducer Store
State ほぼ同義 x x x x
Getters x x x x x
Mutations x x x 同様にstateの値を更新する x
Actions x 非同期のロジックはActionCreatorに記述される Actionは非同期の関数にもなる x x
Store x x x x stateを保持するが、異なる部分もある

まとめ

互換性について記事を書きましたが、VueとReactは似ている部分もありますが別のフレームワークなので、例としてReactにはGettersがなかったりします。
翻訳作業時に足りない機能などは、同等のものを自作などする必要があります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0