React-Router를 사용할 때 차이점이 있습니다. 서버 측 라우팅과 클라이언트 측 라우팅 사이. 일반적으로 앱은 React 스크립트가 포함된 정적 HTML 파일에 대한 초기 요청을 서버에 보내는 것으로 시작됩니다. 일단 로드되면 클라이언트는 새 서버 요청 없이 후속 URL 변경 사항을 처리합니다.
문제: 서버 측 경로에 맞는 URL을 새로 고치거나 수동으로 입력하는 경우(예: , /joblist) 클라이언트 측 라우팅 모드에서는 의도한 보기를 렌더링하지 않습니다. 대신 "Cannot GET /joblist" 오류가 발생할 수 있습니다.
서버측: 서버가 모든 URL을 처리합니다. 라우팅. 정적 HTML 사이트에서 서버는 /joblist와 같은 특정 URL에 대한 HTML 페이지를 보냅니다.
클라이언트 측 라우팅: React-Router는 클라이언트 측에서 URL 라우팅을 처리합니다. . 서버에서 새 페이지를 요청하는 대신 URL 변경에 따라 표시된 콘텐츠를 동적으로 업데이트합니다.
이 문제를 해결하려면 두 서버 모두에 경로를 설정해야 합니다. 그리고 클라이언트 측. 가능한 방법은 다음과 같습니다.
이 접근 방식은 /joblist#/about과 같이 해시(#) 접두사가 있는 URL을 사용합니다. 해시 다음 부분은 서버로 전송되지 않으므로 서버는 항상 루트 URL(/)을 보게 됩니다. 클라이언트 측 React-Router는 #/about 부분을 처리합니다.
단점:
서버에 포괄 경로를 설정하세요. 예를 들어, 서버가 특정 경로와 일치하지 않는 URL을 수신하면 index.html 파일을 보냅니다. 이렇게 하면 어떤 URL을 입력하든 React 앱이 로드됩니다.
단점:
이 접근 방식은 중요한 페이지에 대한 특정 서버 측 경로와 포괄적인 방법을 결합합니다. 이러한 페이지에 정적 HTML 파일을 제공하여 해당 콘텐츠를 검색 엔진에 제공할 수 있습니다.
단점:
이 접근 방식에서는 서버와 클라이언트 모두 동일한 JavaScript 코드를 실행합니다. 이는 페이지 전환이 서버 측에서 발생하든 클라이언트 측에서 발생하든 관계없이 동일한 마크업을 클라이언트에 전송하여 문제를 해결합니다.
단점:
다음을 고려하세요 요소:
궁극적으로 귀하에게 가장 적합한 옵션은 특정 요구 사항과 기술 역량에 따라 다릅니다.
위 내용은 페이지 새로 고침 또는 수동 URL 입력 후 React Router가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!