wam
w__am 개발노트
wam
  • 분류 전체보기 (165)
    • CS 지식 (10)
      • 자료구조 (0)
      • 알고리즘 (0)
      • 컴퓨터 구조 (0)
      • 운영체제 (0)
      • 네트워크 (7)
      • 데이터베이스 (0)
      • 디자인 패턴 (3)
    • Frontend (131)
      • Three.js (64)
      • NPM (1)
      • Nest.js (19)
      • React (10)
      • Apollo (7)
      • TypeScript (2)
      • JavaScript (12)
      • HTML, CSS (1)
      • Jest (3)
      • E2E (5)
      • Cypress (7)
    • Database (12)
      • TypeORM (12)
    • IT 지식 (8)
      • 클라우드 서비스 (3)
      • 네트워크 (1)
      • 데이터 포맷 (2)
      • 기타 (2)
    • IT Book (2)
    • 유용한 사이트 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 🐱 Github

인기 글

태그

  • 함수의 범위
  • math.sin()
  • 렌더링 성능 최적화
  • 함수 표현식
  • getdelta()
  • isabstract
  • Decorators
  • joi 에러
  • 디자인 패턴
  • math.cos()
  • 삼각함수
  • threejs 개발 할 때 도움을 줄 수 있는 유틸리티
  • 오프-프레미스(off-premise) 방식
  • axeshelper
  • 함수 리터럴
  • e.preventdefault()
  • 원형적인 움직임
  • react 성능 최적화
  • 함수 선언문
  • gridhelper
  • 데이터 포맷
  • mapped types
  • Interface
  • 초기 환경설정
  • reactive variables
  • API
  • 스코프
  • type-graphql
  • three.js 구성 요소
  • getelapsedtime()

최근 글

관리자

글쓰기 / 스킨편집 / 관리자페이지
hELLO · Designed By 정상우.
wam

w__am 개발노트

React Router: push와 replace의 차이점
Frontend/React

React Router: push와 replace의 차이점

2024. 10. 15. 21:28

 

history.push와 history.replace는 둘 다 React Router에서 경로를 변경할 때 사용하는 메서드지만, 동작 방식에 중요한 차이가 있다.

 

 

1. history.push

  • 역사 기록에 새로운 항목을 추가한다.
  • 사용자가 새로운 페이지로 이동한 것처럼 브라우저의 뒤로 가기 버튼을 통해 이전 페이지로 돌아갈 수 있다.
history.push('/new-route');s

 

 

특징

  • 브라우저의 기록 스택에 새로운 항목을 추가하기 때문에, 사용자가 뒤로 가기 버튼을 눌렀을 때 이전 페이지로 돌아갈 수 있다.
  • 페이지 탐색을 할 때 일반적으로 사용하는 방식이다.

 

 

2. history.replace

  • 현재 페이지의 URL을 대체한다.
  • 역사 기록을 덮어쓰기 때문에 브라우저의 뒤로 가기 버튼으로는 대체하기 전의 페이지로 돌아갈 수 없다.
history.replace('/new-route');

 

 

특징

  • 기록을 덮어쓰므로 현재 페이지를 완전히 대체한다.
  • 뒤로 가기 버튼을 눌러도 대체된 이전 URL로 돌아갈 수 없다.
  • 로그인 후 리디렉션이나 쿼리 파라미터만 변경할 때 자주 사용된다.

 

 

차이 요약

  • push: 기록 스택에 새로운 항목을 추가해 뒤로 가기가 가능하다.
  • replace: 현재 기록을 덮어써서 뒤로 가기가 불가능하다.

 

 

저작자표시 변경금지 (새창열림)

'Frontend > React' 카테고리의 다른 글

함수를 호출하는 방식 (즉시 호출과 지연 호출)  (0) 2024.12.12
[Rect Hook Form] getValues()에서 Number 타입 가져오는 법  (0) 2024.12.11
React Hook Form의 handleSubmit으로 폼 제출 시 페이지 리렌더링 방지하기  (0) 2024.09.26
React Router v6  (0) 2024.09.26
React에서 렌더링이 발생하는 조건과 렌더링 성능 최적화 방법  (0) 2024.05.09
    'Frontend/React' 카테고리의 다른 글
    • 함수를 호출하는 방식 (즉시 호출과 지연 호출)
    • [Rect Hook Form] getValues()에서 Number 타입 가져오는 법
    • React Hook Form의 handleSubmit으로 폼 제출 시 페이지 리렌더링 방지하기
    • React Router v6
    wam
    wam

    티스토리툴바