node.js - 在react和node js应用程序中使用socket.io

标签 node.js reactjs socket.io

我正在为我的应用程序使用reactjsnodejs。我正在我的react js组件中调用在nodejs中创建的api。假设我有一个组件用户。我在 componentWillMount 函数中调用 api 来获取用户列表。因此,当通过 add user 组件添加新用户时,更改不会反射(reflect)到用户列表中。因此,我需要使用 socket.io 使应用程序变得实时,以便我的用户列表可以获得数据库中更新的内容以及再次渲染组件的时间。

上面有什么内容吗?

最佳答案

您可以使用 Socket.io 来更新用户列表。另一种选择是使用服务器发送的事件(有关两者之间差异的更多信息,请参阅 this answer )。

如果您选择使用 Socket.io,则可以在添加新用户后从客户端发出事件。服务器收到该事件后,会将其广播到所有其他连接的套接字(使用 socket.broadcast.emit )。套接字监听 users-update 事件(可以在 here 找到一个示例),一旦收到该事件,客户端就应该更新 User 组件并重新渲染它。

如果您选择使用 SSE,请查看 this article .

关于node.js - 在react和node js应用程序中使用socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53921188/

相关文章:

node.js - 客户端 IP 有时在使用 CloudFlare 和 Nginx 托管在 Ubuntu 中的 Nodejs 应用程序中未定义

javascript - HTTP 请求正文到数组

node.js - 如何使用 sequelize 删除唯一选项

javascript - 如何同步 Redux 状态和 url 哈希标签参数

javascript - 加载源为 : (socketio) 的 <script> 失败

node.js - SocketIO 断开连接并留下套接字监听

Javascript .match() 在使用/gi 标志时不起作用

javascript - React 测试库 : When to use userEvent. 单击以及何时使用 fireEvent

javascript - React perf 总是打印空数组

javascript - 用户连接时 socket.io 未注册