我正在为我的应用程序使用 reactjs 和 nodejs 。我在我的react js组件中调用在nodejs中创建的api。假设我有一个组件 User 。我在 componentWillMount 函数中调用api以获取用户列表。因此,当通过add user
组件添加新用户时,所做的更改不会反映到用户列表中。因此,我需要使用 socket.io 来使应用程序实时运行,以便我的用户列表可以获取某些信息,并在数据库中进行了更新,并花费了时间重新呈现该组件。
以上是否有任何内容?
答案 0 :(得分:1)
您可以使用Socket.io更新用户列表。另一种选择是使用服务器发送的事件(有关两者之间差异的更多信息,请参见this answer)。
如果选择使用Socket.io,则可以在添加新用户后从客户端发出事件。服务器收到该事件后,将其广播到所有其他连接的套接字(使用socket.broadcast.emit
)。套接字侦听users-update事件(可以在here中找到示例),一旦接收到套接字,客户端应更新User组件并将其重新呈现。
如果您选择使用SSE,请签出this article。
答案 1 :(得分:0)
如果您想将api响应中的数据应用于呈现的组件,建议您在componentDidMount上调用api。 这是很棒的方法。 当然,您可以使用socket.io
答案 2 :(得分:0)
您可以阅读此Article。本文在后端(使用nodejs)和frontEnd(使用React js)中提供了socket.io的良好设置。
使用此博客可以在后端和前端中设置体系结构。