2016-04-18 19 views
1

最近、私はReactとReduxについて読んでいます。非常に興味深いように見えますが、小さな個人的なプロジェクトに使用したいと思います。データがデータベース(または何らかの永続的なストレージ)にいつ保存されるのか、私がもう一度取り組むべき問題は何ですか?React:永続ストレージオプション?

ほとんどのチュートリアルでは、コンポーネント、小道具、状態について説明していますが、私はその状態を永続的なストレージに保存するための多くの確かな情報が見つかりませんでした。いくつかの記事にはローカルストレージが記載されていますが、それがクリアされるとどうなりますか?すべてのユーザーのデータはなくなりました。 。 。 ?

最終的には、いつかデータベースを使用する必要があります。

私はAxiosを探してAPIバックエンドを手助けしました。これは良い選択ですか?代わりにローカルストレージに保存することはありますか?そのため、ユーザーは直ちにUIアップデートを見て、静かにAPIエンドポイントを呼び出しますか?

アイデアや提案があります。ありがとうございました!

+1

これは、SOにとって非常に広い質問です。しかし、ある時点では、永続的なストレージが必要になります。通常、サーバー側。多くのチュートリアルでは、WebAPIを使用してサーバーにデータを送信する方法と、非同期(ajax)呼び出しを使用する方法について説明します。反対側のコードは通常、データベースが存在する場所です。また、データベースを更新する要求がバックグラウンドで実行されている間も、ローカルに保存する代わりに、楽観的な更新を行うこともできます。私はAxiosについての意見はありません(だからおそらくこれを聞くには最適な場所ではありません) – wintvelt

答えて

0

これは実際には広範なトピックですが、インターネットにはデータの永続性の例が欠けていることは間違いありません。 1つの理由は、反応も還元も、これらを助けるフレームワークではないということです。これはライブラリの素晴らしいアプリケーションだが、それらが提示する抽象的なアイデアの核心ではないことを意味する。

これは、元に戻すことはできないと言っているわけではありません。 reduxミドルウェアの助けを借りて、これはあなたのアプリケーションの残りの部分と完璧に動作する楽しい作業になります。データ永続性を実装する方法はさまざまです。ここでは、私が自分のアプリケーションで使用する方法について説明します。

CouchDBの+ PouchDB +ミドルウェア

  • CouchDBの:JSON形式
  • PouchDBで簡単な文書保管:CouchDBのインスタンスを使用してのlocalStorageが自動的にできるようにする同期オフラインで使用

データベースはステートフルな動作を導入するため、reduxはミドルウェアを使用しないあなたの店を立ち上げ、州を自分の外に置いてください。このミドルウェアでは、DBインスタンスをストアに同期させます。このミドルウェアは、DB内のデータを読み取り、アクションを実行してストアに挿入します。次に、アプリケーションは、ミドルウェアがピックアップしてデータをそのDBに格納するために使用するアクションを起動します。最後に、DBは、挿入、更新、削除された新しいデータでストアを更新します。

リムーバブルストアを維持しながらJSONシリアライズ可能なデータをDBに保持するのはシンプルで強力な方法です。

関連する問題