Stomp.js с SockJS в реакции не работает при определении метода stomp и сокетов вне - PullRequest
0 голосов
/ 24 октября 2019

Я использую Stomp и Sockjs в своем приложении React для чата для подключения к серверу. Я создал кнопку, которая вызывает метод connect.

Как только я объявляю sockjs и stomp внутри метода, все работает, находят. но другие методы, такие как disconnect и sendMessage, не распознают эти переменные. Когда я пытаюсь вывести эти переменные за пределы метода connect, он перестает работать.

Кто-нибудь знает об этой проблеме?

Рабочий код с переменными внутри метода:

const connect = () => {
      const socket = new SockJS("http://localhost:8080/chat");
      const stompClient = Stomp.over(socket);
      console.log("stompClient: ", stompClient.connect);

      stompClient.connect({}, frame => {
        console.log("Connected: " + frame);
        stompClient.subscribe("/topic/messages", messageOutput => {
        console.log(JSON.parse(messageOutput.body));
      });
    });
  };

Не работает код с переменными вне метода:

const socket = new SockJS ("http://localhost:8080/chat"); const stompClient = Stomp.over (сокет);

const connect = () => {    
      stompClient.connect({}, frame => {
        console.log("Connected: " + frame);
        stompClient.subscribe("/topic/messages", messageOutput => {
        console.log(JSON.parse(messageOutput.body));
      });
    });
  };
...