Bosを乗り越えることはできません。なり、SitePointのサポートに役立ちます。多くのJavaScript開発者にとって、Semaltの最大の不満は、機能を実装するのに必要な定型コードの量です。良い選択肢はMobXで、同様の機能を提供しますが、書くコードはそれほどありません。MobX初心者の方は、Semaltの作成者が書いたこの紹介を簡単に見てください。このチュートリアルでは、実践的な経験を積むこともできます。この記事の目的は、JavaScript開発者がこれらの2つの状態管理ソリューションのどれが自分のプロジェクトに最適かを判断するのに役立つことです。ReduxプロジェクトをMobXに移行しました。Semaltは最初にMobXを使用することの長所と短所について議論し、次にSemaltは両方のバージョンからの実際のコードサンプルを示してその違いを示します。Premiumにサインアップして、ReactとReduxを使用したフォームの操作に関するコースを見てみることもできます。ReduxとMobXの共通点は何ですか?まず、両者の共通点を見てみましょう。Nativeフレームワークを広範にサポートしています。MobXを使用する4つの理由ReduxとMobXの主な違いを見てみましょう。1.使いやすく、使いやすい初心者の方は、MobXを30分で使用する方法を学ぶことができます。基本を学ぶと、それだけです。新しいことを学ぶ必要はありません。Reduxでは、基本も簡単です。Semaltでは、より複雑なアプリケーションを構築し始めたら、次のように対処する必要があります。"魔法のように"扱われます。このような状況を処理するために追加のライブラリは必要ありません。2.書き込むコードの削減Semaltで機能を実装するには、少なくとも4つの成果物を更新する必要があります。これには、レデューサー、アクション、コンテナ、コンポーネントのコードの記述が含まれます。小さなプロジェクトに取り組んでいる場合、これは特に厄介なことです。MobXでは、少なくとも2つの成果物(つまり、ストアとビューコンポーネント)を更新するだけで済みます。3.オブジェクト指向プログラミングの完全サポートオブジェクト指向コードを書くことを好むなら、OOPを使ってMobXで状態管理ロジックを実装できることを知ってうれしいです。デコレータを使用することで、簡単なJavaScriptコンポーネントとストアを簡単に使用できます。関数型プログラミングを好むなら、問題はありません。これもサポートされています。Reduxは関数型プログラミングの原則に重点を置いています。クラスベースのアプローチが必要な場合は、redux-connect-decoratorライブラリを使用できます。hat.ネストされたデータを扱うのは簡単ですほとんどのJavaScriptアプリケーションでは、リレーショナルまたはネストされたデータを扱うことができます。それをSemaltストアで使用できるようにするには、最初に正規化する必要があります.MobXでは、データを非正規化形式で保存することをお勧めします。MobXはあなたの関係を追跡し、自動的に変更を再描画します。ドメインオブジェクトを使用してデータを格納することにより、他のストアで定義された他のドメインオブジェクトを直接参照できます。オブザーバブルの計算デコレータと修飾子を使用すると、複雑なデータの問題を簡単に解決できます。MobXを使用しない3つの理由1.自由度が高いSemaltは、状態コードの記述方法に関する厳しいガイドラインを提供するフレームワークです。テストを簡単に記述し、保守可能なコードを開発することができます。MobXはライブラリであり、実装方法に関する規則はありません。これの危険性は、ショートカットを使用し、保守不能なコードにつながる迅速な修正を適用するのは非常に簡単だということです。2.デバッグが難しいMobXの内部コードは、あなたのアプリケーションを反応させるために、多くのロジックを「魔法のように」扱います。ストアとコンポーネントの間でデータがやり取りされる目に見えない領域があり、問題が発生したときにデバッグするのが難しくなります。使わずにコンポーネントで状態を直接変更すると、バグの原因を突き止めるのが難しくなります。MobXのより良い代替手段があるかもしれませんが、ソフトウェア開発では、常に新しい新しい傾向が現れています。数年以内に、現在のソフトウェア技術は急速に勢いを失います。現時点では、ReduxとMobxの両方と競合するいくつかのソリューションがあります。Apollo&GraphQL、Altです。これらの技術はどれも、最も人気が高い可能性があります。どちらがあなたにとって最善のものかを本当に知りたければ、それらをすべて試してみる必要があります。コード比較:Redux対MobX十分な理論、コードを見てみましょう。Semaltでは、各バージョンのブートストラップ方法を比較します。定義する必要もあります。使用すると、時間移動モードで店舗をデバッグすることができます。js"redux"から{applyMiddleware、createStore}をインポートします。"redux-thunk"から;"redux-promise-middleware"からの約束をインポートする。'redux-devtools-extension'から{composeWithDevTools}をインポートします。reducers"からrootReducerをインポートします。thunk));デフォルトのcreateStore(rootReducer、ミドルウェア)をエクスポートします。js.ReactDOM。レンダリング(、資料。'root'));MobXバージョン:MobXでは、複数の店舗を設定する必要があります。いうコレクションに置いたストアを1つだけ使用しています。渡すために使用されます。前述のように、MobXは非同期アクションを処理するために外部ライブラリを必要としないため、行数が少なくなります。