Реактивные соединения SocketIO Dynami c на основе данных - PullRequest
1 голос
/ 23 апреля 2020

Итак, я спотыкаюсь об этом вопросе и не могу обернуть голову вокруг него.

У меня несколько конечных точек, например: - "/ foo1" - "/ bar2" - "/ faz3 "-" / boo4 "

Как я могу автоматически управлять этими соединениями в реакции?

Например:

// File: EndpointManager.js

const [allEndpoints, setAllEndpoints] = useState([]);
const [activeEndpoints, setActiveEndpoints] = useState(["/foo1", "/faz3"]);

useEffect(() => {
  // I fetch the endpoints here

  return () => setAllEndpoints([]);
}, [])

useEffect(() => {
   if (!allEndpoints.length > 0) return;
   // Some code here to dynamically manage the socket connections on change, I need your help here
}, [activeEndpoints])

Теперь я могу подключаться динамически с массивом foreach и открытием нового соединения внутри этого foreach, но эта переменная временно сохраняется (потому что это foreach). Поэтому я не могу получить к нему доступ после l oop, даже если я oop дважды. Как бы я мог управлять этими соединениями на основе этого массива? Или другое решение, которое будет работать так, как я хочу

Проблема, с которой я сталкиваюсь, заключается в том, что я понятия не имею, как я смогу динамически хранить эти соединения. Я думал о создании динамических c переменных, таких как socketFoo1, socketFaz3, но я понятия не имею, как это реализовать. Пожалуйста, помогите мне здесь! :)

TL; DR

Я хочу выполнить sh динамические c соединения через веб-сокет, которые могут подключаться / отключаться на основе массив / объект / что бы то ни было

С уважением!

...