【问题标题】:Alternative to Reflux for client and server (individual sessions)客户端和服务器的 Reflux 替代方案(单独会话)
【发布时间】:2015-06-18 08:56:03
【问题描述】:

我一直在将RefluxJS 用于 Web 应用程序,并且效果很好。问题出在服务器端(节点/快递)。它使用单数,我还没有找到任何方法来使用它而不在会话之间混合数据。当一个用户在存储中存储一些数据时,当另一个用户(不同的会话)稍后向后端发出请求时,该数据仍然存在。即使我在请求结束时删除了数据,在处理多个请求时也可能会出现混淆。

那么,有没有一个很好的 Reflux 替代品在客户端和服务器上都运行良好?我正在寻找 Reflux 中存在的简化,同时被解耦,而不是在整个应用程序周围和整个应用程序中构建通量结构(就像 Fluxible 所做的那样)。

有什么建议吗?

【问题讨论】:

标签: javascript reactjs refluxjs


【解决方案1】:

我使用 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

然后从你的 NodeJs f.ex 中调用init(session)

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 Relay 看起来也很有希望,但尚未确定发布日期:https://facebook.github.io/react/blog/2015/02/20/introducing-relay-and-graphql.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2021-12-24
    • 1970-01-01
    • 2014-04-15
    • 2014-12-22
    相关资源
    最近更新 更多