2

私はWeb アプリケーションにRefluxJSを使用していますが、非常にうまく機能します。問題はサーバー側 (node/express) にあります。シングルトンを使用していますが、セッション間でデータを混合せずに使用する方法が見つかりませんでした。あるユーザーがストアにデータを保存すると、別のユーザー (別のセッション) が後でバックエンドにリクエストを行ったときに、そのデータはまだそこにあります。リクエストの最後にデータを削除したとしても、複数のリクエストを処理するときに混乱が生じる可能性があります。

では、クライアントとサーバーの両方で適切に機能する、Reflux に代わる優れた方法はありますか? 私は、Reflux に存在する単純化を探しています。同時に、アプリケーション全体にフラックス構造を構築するのではなく、切り離されています (Fluxible のように)。

助言がありますか?

4

1 に答える 1

0

データ管理に Backbone を使用して同じ問題に取り組みましたが、最終的には次のようになりました。

var Collection = Backbone.Collection.extend({})
var exported
if ( isNode ) {
  module.exports.init = function(session) {
    session.collection = new Collection()
    exported = session.collection
  }
} else {
  exported = new Collection()
}
module.exports.collection = exported

次にinit(session)、NodeJs から f.ex を呼び出します。

var data = require('data')

[...]

index: function(req, res, next) {
  // attach backbone collection to the session
  data.init(req.session)
  // now you can use data.collection as normal
}

クライアントでは、通常どおりに要求して使用できます。これまでのところ驚くほどうまく機能していますが、他の提案も受け付けています。

Backbone は、データ管理と、バックボーン イベントを使用したフラックスのようなアーキテクチャの実装にのみ使用します。

Facebook リレーも有望に見えますが、リリース日は設定されていません: https://facebook.github.io/react/blog/2015/02/20/introducing-relay-and-graphql.html

于 2015-04-13T06:34:43.823 に答える