如何从React组件订阅Redis频道

问题描述 投票:0回答:1

[[我如何在安装React组件时(即在componentDidMount()内部)订阅Redis通道?

[在互联网上几乎到处都可以看到使用nodejs的redis实现,但是找不到任何足够的提示如何在React App中使用它。

实际上,我想在不刷新页面的情况下更新我的电子商务信息中心(反应式应用)数据。在后端,我使用了djangorest框架。当触发任何API来更改任何数据时,python代码将执行其工作,并且还会在特定的Redis通道中发布消息。

我想从客户端(反应应用程序)订阅该频道,以便它可以使用此消息并实时更新其内容。

reactjs redis publish-subscribe node-redis
1个回答
1
投票
由于明显的安全问题,React组件(客户端技术)不应能够访问Redis(服务器技术)。

如果您在服务器端使用react来生成带有react using节点的响应,则应该进行此访问的节点。

如果要从Web前端(使用Web浏览器)访问Redis,则必须建立以下架构:

    React使用websocket访问服务器并侦听消息。
  • 由于使用了websocket技术,因此[asp核心中的节点js(使用socket.io)中的服务器(使用signalR)访问redis并将更改的更改传达给客户端。
  • 如果您想了解有关操作方法的更多详细信息,则应描述您在客户端使用的技术堆栈。

    但是为了简短起见,对于客户端而言,最好是使用redux可观察的堆栈。在这种情况下,这将成为史诗般的史诗,只要服务器通知某些内容,它就会更新redux状态。如果您对rxjs不满意(这是可以理解的!),那么最简单的方法是使用mobX(https://mobx.js.org/README.html

  • © www.soinside.com 2019 - 2024. All rights reserved.