나는 라우팅을 위해 반응 라우터를 사용하는 React/Redux 앱을 보유하고 있습니다.반응 라우터에서 websocket 연결 유지
이 앱의 일부로 websocket 연결을 설정했습니다. 내가 직면 한 문제는 URL로 바로 이동할 때 연결이 끊어지는 것입니다. 예를 들어
은 : www.app.com/
- 사용자 땅이 설정됩니다.
- React Router browserHistory를 통한
www.app.com/link
사용자 네비게이션은이 페이지에 아무런 연결을 설정하지 않습니다. - 연결이 유지됩니다.
예상대로 작동합니다. 그러나 : www.app.com/
- 사용자 땅이 설정됩니다.
- 사용자는 주소 표시 줄에 입력 (또는 이전의 예를 통해 탐색 한 후 페이지를 새로 고쳐
/link
로 직접 이동합니다. - 연결이 떨어졌다.
이 예상되는 동작인가? 그래서이 어떤 경우 Redux/React 라우터 패턴을 피할 때마다 수동으로 연결을 재설정해야합니까?
클라이언트 측 라우팅과 클라이언트 측 라우팅에 대해 알고 계십니까? – Jayce444
지금까지는 서버가 필요없는 앱을 계획하고있었습니다. 그래서 모든 것이 클라이언트 측이고, Route53을 사용하는 S3에서'app.com/'이외의 요청을 받도록 –
websocket 부분에 대해서는 확신 할 수 없지만 수동으로 링크를 탐색 할 경우 React 라우터 부분 만 있으면됩니다. 해당 파일에 대한 서버를 쿼리하고 클라이언트 쪽만 경로로 존재하는 경우 404가 표시되고 실패합니다. 이 문제를 해결하려면 백엔드에서 모든 경로를 찾아야합니다 (예 : 'app.get ('* ', (req, res) => {res.sendFile ('index.html ')}) ; '당신이 수동으로 URL을 입력하거나 페이지를 새로 고침하는 경우 트리거됩니다. 귀하의 경우 서버 측과 websocket의 경우 특정 연결 경로와 관계없이 연결이 설정되도록 설정해야합니다 (Tiago가 말한 것처럼) – Jayce444