React.js:如何在组件之间共享WebSocket

费尔南多

我是React的新手,我在组件结构和它们之间共享Websocket方面遇到一些问题。

该应用程序包含类别和产品。初始数据加载将通过Ajax请求完成,并使用websocket保持数据更新。

我的组件层次结构如下所示:

  • 分类列表
    • 类别
      • 产品列表
        • 产品

CategoriesList保存类别的状态,而ProductsList保存类别中的产品的状态。

所以我想在CategoriesList和ProductsList中使用相同的websocket,但是要监听不同的websocket事件:category:updated和product:updated。

如何在组件之间共享Websocket,以及在哪里进行初始化?

由于每个类别都有一个ProductsList,这是否意味着product:updated事件将触发多次(每个类别一个)?我猜这对性能而言不是一件好事。

科林·惠特马什(Colin Whitmarsh)

我建议在CategoriesList中初始化套接字连接,然后将连接作为道具传递给子组件。断开连接后,您应该能够使用它来侦听子组件中所需的特定事件。

这是github上一个使用react和socket.io的示例应用程序。套接字在父组件中初始化,然后向下传递。https://github.com/raineroviir/react-redux-socketio-chat/blob/master/src/common/containers/ChatContainer.js

在第9行,初始化了连接,然后在第23行,将其作为props传递了下来。以后,该连接将在子组件中用于接收和发出事件。例如:https//github.com/raineroviir/react-redux-socketio-chat/blob/master/src/common/components/Chat.js

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React如何在类(组件)之间共享方法

来自分类Dev

如何在两个React组件之间建立共享状态?

来自分类Dev

如何在具有成分的React组件之间共享钩子

来自分类Dev

如何在react-admin资源中的2个List组件之间共享实例

来自分类Dev

在React组件之间共享属性

来自分类Dev

在React中的组件之间共享数据

来自分类Dev

在多个React组件之间共享JavaScript类

来自分类Dev

在React中的组件之间共享数据

来自分类Dev

如何在 React 中的 render 和 componentDidMount 之间共享数据?

来自分类Dev

如何在React的3个组件之间传递数据?

来自分类Dev

如何在React中的同级组件之间传递数据?

来自分类Dev

如何在组件之间传递React Hook模式状态?

来自分类Dev

React.js如何在组件内部渲染组件?

来自分类Dev

如何在 React Native 上以干净的方式与其他组件共享组件逻辑?

来自分类Dev

如何在兄弟 vue.js 组件之间共享数据?

来自分类Dev

如何在React.js中从数组中删除组件

来自分类Dev

React.js:如何在点击时添加组件?

来自分类Dev

如何在div(React.JS)中垂直堆叠组件?

来自分类Dev

如何在React JS中通过ID过滤组件

来自分类Dev

React.js,如何在组件外部绑定“ this”

来自分类Dev

如何在React js组件中添加if-else?

来自分类Dev

如何在 Gatsby 中将 js 添加到 React 组件?

来自分类Dev

如何在react js的可重用组件中获取ref

来自分类Dev

React.JS,在组件之间传递数据

来自分类Dev

在兄弟组件之间传递对象 - React js

来自分类Dev

如何在React函数之间共享状态并在更改时重新渲染

来自分类Dev

React Hooks,如何在两个函数之间共享状态

来自分类Dev

如何在组件之间共享数据/更改

来自分类Dev

如何在StencilJS组件之间共享状态

Related 相关文章

  1. 1

    React如何在类(组件)之间共享方法

  2. 2

    如何在两个React组件之间建立共享状态?

  3. 3

    如何在具有成分的React组件之间共享钩子

  4. 4

    如何在react-admin资源中的2个List组件之间共享实例

  5. 5

    在React组件之间共享属性

  6. 6

    在React中的组件之间共享数据

  7. 7

    在多个React组件之间共享JavaScript类

  8. 8

    在React中的组件之间共享数据

  9. 9

    如何在 React 中的 render 和 componentDidMount 之间共享数据?

  10. 10

    如何在React的3个组件之间传递数据?

  11. 11

    如何在React中的同级组件之间传递数据?

  12. 12

    如何在组件之间传递React Hook模式状态?

  13. 13

    React.js如何在组件内部渲染组件?

  14. 14

    如何在 React Native 上以干净的方式与其他组件共享组件逻辑?

  15. 15

    如何在兄弟 vue.js 组件之间共享数据?

  16. 16

    如何在React.js中从数组中删除组件

  17. 17

    React.js:如何在点击时添加组件?

  18. 18

    如何在div(React.JS)中垂直堆叠组件?

  19. 19

    如何在React JS中通过ID过滤组件

  20. 20

    React.js,如何在组件外部绑定“ this”

  21. 21

    如何在React js组件中添加if-else?

  22. 22

    如何在 Gatsby 中将 js 添加到 React 组件?

  23. 23

    如何在react js的可重用组件中获取ref

  24. 24

    React.JS,在组件之间传递数据

  25. 25

    在兄弟组件之间传递对象 - React js

  26. 26

    如何在React函数之间共享状态并在更改时重新渲染

  27. 27

    React Hooks,如何在两个函数之间共享状态

  28. 28

    如何在组件之间共享数据/更改

  29. 29

    如何在StencilJS组件之间共享状态

热门标签

归档