الحفاظ على نفس socket.id مع react.js

أرغب في استخدام نفس المقبس في الفصل الدراسي. لذلك لديه نفس socket.id.

ولكن لا يمكنني العثور على كيفية إعطاء مأخذ إلى فئة أخرى في React. لذا سؤالي هو كيف يمكنني الحصول على نفس socket.id في فئة الدردشة.

هذه هي شفرتي الآن:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

class Website extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      showComponent: false,
    };

    var socket = io('localhost:5000');

    this.handleClick = this.handleClick.bind(this);


  }

  handleClick() {
    this.setState(function(prevState) {
      return {
        isToggleOn: !prevState.isToggleOn
      };
    });

  }
  render() {
      return ( <
          div >
          <
          button onClick = {
            this.handleClick
          } > Test < /button> {
          this.state.isToggleOn ?
          <
          Chat/> :
          null
        } <
        button onClick = {
          this.handleClick2
        } > Service Desk < /button> {
      this.state.isToggleOn2 ?
        <
        ServiceDesk/> :
        null
    } <
    /div>
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
</div> </div>

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class = "snippet-code">

 class Chat extendends React.Component {
  منشئ (الدعائم) {
    السوبر (الدعائم)؛
    
    var socket = io ('localhost: 5000')؛
  }
} </القانون> </قبل>
  <script src = "https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min. شبيبة "> </script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"> </script>  
</div></div>

0

1 إجابة

هل من الممكن نقل هذا io للخارج في ملفه الخاص؟

// socket.js
export const socket = io('localhost:5000');

واستخدامها في الملفات

import { socket } from "./socket";
0
وأضاف
شكرا لك! إنها تعمل.
وأضاف المؤلف JJNL77, مصدر