使用 React 从数据层反映外部变化
Using react to reflect external changes from the data layer
我不是前端开发人员,也没有使用过 React 或任何 flux 实现,因为我不确定他们是否会做我想做的事。我正在努力思考如何使用反应来呈现客户端外部的后端更改,即另一个用户的更改。我看到当客户端采取行动时反应如何处理视图,但我想呈现来自 server/other 用户的更改而无需长轮询(类似于流星如何使用双向数据绑定)。
我的解决方案是在后端创建一个 pub/sub 系统,如果客户订阅了适当的频道,该系统会将更改推送给客户。这可以通过分析数据库 queries/backend 操作及其产生的更改来完成,就像 Asana 的 Luna 所做的那样。我的朋友告诉我,我可以只使用 flux 的实现来简单地做到这一点。如果他是对的,我一定是误解了 flux 的实际作用。对我来说,它似乎只反映了基于 'current' 客户端操作的变化。
你是对的。 Flux 只是一种管理应用程序状态以响应不同操作的方法。你将如何触发这些行动是出于它的考虑。 pub/sub 服务器在这种情况下是正确的做法。你可以看看 Firebase - google 非关系数据库,它有很多针对不同平台的 SDK,并且可以通知客户端其他用户所做的更改。但无论如何它都可以作为 pub/sub 服务器 =)
我不是前端开发人员,也没有使用过 React 或任何 flux 实现,因为我不确定他们是否会做我想做的事。我正在努力思考如何使用反应来呈现客户端外部的后端更改,即另一个用户的更改。我看到当客户端采取行动时反应如何处理视图,但我想呈现来自 server/other 用户的更改而无需长轮询(类似于流星如何使用双向数据绑定)。
我的解决方案是在后端创建一个 pub/sub 系统,如果客户订阅了适当的频道,该系统会将更改推送给客户。这可以通过分析数据库 queries/backend 操作及其产生的更改来完成,就像 Asana 的 Luna 所做的那样。我的朋友告诉我,我可以只使用 flux 的实现来简单地做到这一点。如果他是对的,我一定是误解了 flux 的实际作用。对我来说,它似乎只反映了基于 'current' 客户端操作的变化。
你是对的。 Flux 只是一种管理应用程序状态以响应不同操作的方法。你将如何触发这些行动是出于它的考虑。 pub/sub 服务器在这种情况下是正确的做法。你可以看看 Firebase - google 非关系数据库,它有很多针对不同平台的 SDK,并且可以通知客户端其他用户所做的更改。但无论如何它都可以作为 pub/sub 服务器 =)