【问题标题】:Where to initialize Socket object in React Containers?在 React Containers 中在哪里初始化 Socket 对象?
【发布时间】:2016-12-03 17:43:42
【问题描述】:

我正在研究 React.js 和 socket.io。 我的应用程序由多个容器组成。每个容器都有组件。

我的容器和组件层次结构

  • 仪表板
  • 聊天
    • 聊天列表项
    • 客户聊天视图

所以这里 Dashboard 和 Chat 是两个独立的容器,定义在不同的 js 文件中。 我想在仪表板和聊天消息之间共享 websocket 对象,以便当聊天容器中有新的聊天消息时,仪表板将能够向用户显示警报消息。

我的问题是初始化 websocket 以便在两个容器中使用相同的套接字对象最合适的位置是什么?

我正在使用 socket.io javascript 库

【问题讨论】:

    标签: javascript sockets reactjs mern


    【解决方案1】:

    我可能会创建一个根应用程序容器,它可以在 componentWillMount 上调度一个操作来初始化套接字并将结果存储在存储中。然后,您可以将其传递给任何其他容器并在必要时使用它。

    【讨论】:

    • 转念一想我可能仍会在 componentWillMount 中初始化套接字,但我会将引用存储在一个单独的专用模块中,该模块可能只公开一个 API 来使用它。您的存储状态应该是可序列化的,并且在其中存储一个套接字可能会使它不是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    相关资源
    最近更新 更多