如何从 React 组件订阅 Redis 频道
How to subscribe a Redis channel from a React Component
如何在挂载 React 组件时(即在 componentDidMount() 内)订阅 Redis 通道?
在互联网上几乎到处都能看到用 nodejs 实现的 redis,但找不到任何
足够的提示如何在 React App 中使用它。
实际上我想在不刷新页面的情况下更新我的电子商务仪表板(反应应用程序)数据。在后端,我使用了 djangorest 框架。当任何 API 被触发以更改任何数据时,python 代码开始工作并在特定的 Redis 通道中发布消息。
我想从客户端(React 应用程序)订阅该频道,以便它可以使用此消息并实时更新其内容。
出于明显的安全问题,React 组件(客户端技术)不应该能够访问 Redis(服务器技术)。
如果您在服务器端使用 React 来使用节点生成响应,则该节点应该进行此访问。
如果你想从web前端(使用web浏览器)访问redis,你必须建立以下架构:
- React 使用 websocket 访问服务器并监听消息。
- node js中的服务器(使用socket.io),aspnet core中的服务器(使用signalR)访问redis并通过websocket技术将更改传达给客户端。
如果您想了解更多详细信息,请描述您在客户端使用的技术堆栈。
但简而言之,对于客户端,最好是使用 redux observable stack。在这种情况下,这将是一个史诗,它会在服务器通知某事时更新 redux 状态。如果你对 rxjs 不适应(这很好理解!),那么最简单的方法就是使用 mobX (https://mobx.js.org/README.html)
如何在挂载 React 组件时(即在 componentDidMount() 内)订阅 Redis 通道?
在互联网上几乎到处都能看到用 nodejs 实现的 redis,但找不到任何 足够的提示如何在 React App 中使用它。
实际上我想在不刷新页面的情况下更新我的电子商务仪表板(反应应用程序)数据。在后端,我使用了 djangorest 框架。当任何 API 被触发以更改任何数据时,python 代码开始工作并在特定的 Redis 通道中发布消息。
我想从客户端(React 应用程序)订阅该频道,以便它可以使用此消息并实时更新其内容。
出于明显的安全问题,React 组件(客户端技术)不应该能够访问 Redis(服务器技术)。
如果您在服务器端使用 React 来使用节点生成响应,则该节点应该进行此访问。
如果你想从web前端(使用web浏览器)访问redis,你必须建立以下架构:
- React 使用 websocket 访问服务器并监听消息。
- node js中的服务器(使用socket.io),aspnet core中的服务器(使用signalR)访问redis并通过websocket技术将更改传达给客户端。
如果您想了解更多详细信息,请描述您在客户端使用的技术堆栈。
但简而言之,对于客户端,最好是使用 redux observable stack。在这种情况下,这将是一个史诗,它会在服务器通知某事时更新 redux 状态。如果你对 rxjs 不适应(这很好理解!),那么最简单的方法就是使用 mobX (https://mobx.js.org/README.html)