2016-06-28 7 views
1

Ich möchte Websockets in meiner Redux-App verwenden und habe Probleme beim Speichern von Verbindungsobjekten (Phoenix-Kanäle).Speichern von Websocket (Kanälen) Verbindungsobjekte in Redux

Ich habe eine dynamische Sammlung mit der Möglichkeit, Elemente hinzuzufügen und zu entfernen. Wenn ein Benutzer ein Element hinzufügt, sollte die App einen neuen Phönix-Kanal basierend auf Verbindung, Abonnieren und Speichern erstellen, da ich einiges daran tun muss (zum Beispiel muss ich eine Methode leave() auf dem Kanal aufrufen, wenn ein Benutzer ein Element entfernt). Leider ist das Speichern in Redux alles unveränderlich, also gibt es keine Möglichkeit, damit umzugehen. Jede Hilfe wäre willkommen.

Antwort

1

Legen Sie es definitiv nicht in den Laden. Pro http://redux.js.org/docs/FAQ.html#organizing-state-non-serializable sollten nur serialisierbare Daten in den Speicher gelangen. Der Standard-Ort, um Dinge wie dauerhafte Verbindungsobjekte zu platzieren, ist in Middleware. Und in der Tat gibt es buchstäblich Dutzende von bestehenden Middlewares, die diese Herangehensweise demonstrieren, wobei die meisten unter https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware.md#sockets-and-adapters aufgeführt sind. Sie sollten in der Lage sein, einige davon als Beispiele zu verwenden.