이력 푸시와 치환의 트레이드오프는 무엇입니까?
이력 패키지를 사용하여 비활성 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
'source' 카테고리의 다른 글
react hooks useEffect() 청소는 componentWillUnmount만 해당합니까? (0) | 2023.03.20 |
---|---|
컬을 사용하여 배열이 있는 json 객체를 배치하는 방법 (0) | 2023.03.15 |
2개의 포트를 사용하여 스프링 부트를 설정하다 (0) | 2023.03.15 |
AngularJs $http.post()이 데이터를 전송하지 않음 (0) | 2023.03.15 |
커스텀 투고 타입에 커스텀필드를 추가하는 방법 (0) | 2023.03.15 |