2016-07-29 2 views
1

저는 React.js와 socket.io를 작업 중입니다. 내 응용 프로그램은 여러 컨테이너로 구성되어 있습니다. 각 컨테이너에는 구성 요소가 있습니다.React Containers에서 Socket 객체를 초기화하는 위치는 어디입니까?

내 컨테이너와 구성 요소 계층 구조

  • 대시 보드
  • 채팅
    • ChatListItem
    • CustomerChatView 그래서 여기

대시 보드와 채팅 별도의 js 파일에 정의 된 두 개의 별도 컨테이너. 대시 보드와 채팅 메시지간에 websocket 개체를 공유하여 채팅 컨테이너에 새 채팅 메시지가있을 때 대시 보드에서 사용자에게 경고 메시지를 표시 할 수있게했습니다.

제 질문은 양쪽 소켓에서 동일한 소켓 객체를 사용할 수 있도록 websocket을 초기화하는 가장 적합한 장소는 무엇입니까?

는 내가 아마 소켓을 초기화하고 저장소에 결과를 저장하는 componentWillMount에 대한 작업을 파견 할 수있는 루트 응용 프로그램 컨테이너를 만들 것입니다 자바 스크립트 라이브러리

답변

1

socket.io를 사용하고 있습니다. 그런 다음 다른 컨테이너로 전달하여 필요할 때마다 사용할 수 있습니다.

+0

두 번째 생각에 나는 아마도 여전히 componentWillMount에서 소켓을 초기화 하겠지만, 별도의 전용 모듈에 레퍼런스를 저장할 것입니다. 아마도 전용 API를 가지고 작업 할 것입니다. 저장소 상태는 직렬화 가능하고 거기에 소켓을 저장하면 그렇지 않을 수 있습니다. – John