2016-06-28 1 views
1

필자의 redux 응용 프로그램에서 websocket을 사용하고 연결 객체 (phoenix channels)를 저장하는 데 문제가 있습니다.Redux에서 websocket (channels) 연결 객체 저장

항목을 추가하고 제거 할 수있는 동적 컬렉션이 있습니다. 사용자가 항목을 추가 할 때 앱은 연결에 대한 새로운 피닉스 채널을 만들어야합니다. 구독하고 저장해야합니다. 예를 들어 사용자가 항목을 제거하면 채널에 leave() 메소드를 호출해야합니다. 불행히도, redux에있는 상점은 모두 불변이므로 이것을 처리 할 수있는 옵션이 없습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

1

확실히 상점에 넣지 마십시오. http://redux.js.org/docs/FAQ.html#organizing-state-non-serializable에 따라 직렬화 가능 데이터 만 저장소로 이동해야합니다. 지속적인 연결 객체와 같은 것을 배치하는 표준 장소는 미들웨어 내부입니다. 사실, 그 중 대부분이 https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware.md#sockets-and-adapters에 나열된 방식으로 그 접근법을 보여주는 수십 개의 기존 미들웨어가 있습니다. 당신은 그 중 일부를 예제로 사용할 수 있어야합니다.