source

이력 푸시와 치환의 트레이드오프는 무엇입니까?

gigabyte 2023. 3. 15. 19:41
반응형

이력 푸시와 치환의 트레이드오프는 무엇입니까?

이력 패키지를 사용하여 비활성 URL을 리액트 컴포넌트의 404 페이지로 리다이렉트합니다.

사용하고 있다.replace대신.push단순히 내가 방문한 잘못된 URL이 브라우저에 기록되지 않기를 바라기 때문이다.

제가 요점을 놓쳤나요?그리고 내 목적을 위해 둘 중 하나를 선택하는 것 사이에 트레이드오프가 있나요?

누가 설명 좀 해줄래? 잘부탁해 ;)

네가 옳은 생각을 한 것 같아.

저는 개인적으로.replace유효하지 않은 URL에서 리다이렉트 할 때(또는 관련이 없는 경우, 즉 로그 사용자가 "/filename" URL로 이동할 때 "profile" 페이지로 리다이렉트 할 때), 브라우저의 "back" 버튼을 사용하면 최종 사용자가 올바르게 동작합니다.

router.replace는 라우터와 같이 동작합니다.push의 유일한 차이점은 이름에서 알 수 있듯이 새로운 이력 엔트리를 푸시하지 않고 이동한다는 것입니다.그것은 현재의 엔트리를 대체하는 것입니다.

사용하는 것을 좋아합니다..replace()사용자가 이 페이지로 돌아올 수 없는 경우.

예: 삭제 버튼이 있는 제품 상세 페이지가 있어 최종적으로 제품을 삭제합니다.버튼을 클릭했을 때 나는 한다.router.replace모든 제품 목록으로 돌아가기 때문에 사용자가 브라우저에서 뒤로 버튼을 사용할 때 상세 페이지로 돌아갈 수 없기 때문에 이 제품은 더 이상 존재하지 않기 때문에 삭제 버튼을 보거나 다시 클릭할 수도 없습니다.

언급URL : https://stackoverflow.com/questions/39340108/what-is-the-trade-off-between-history-push-and-replace

반응형