하루를 끝내며 다짐하기

질의 응답 (최종발표) 본문

Things I learned for today

질의 응답 (최종발표)

보슬비처럼 2023. 7. 28. 20:59

🐶프로젝트의 최종 발표에 질의 응답이 있었다. 

 

troubleshooting 란에서 

여러가지 페이지로 구성된 회원가입, 사용자가 입력한 정보를 
다음 페이지로 보내주는 것에 MemoryRouter 를 사용하려 했으나, 
기존에 세팅해놓았던 Router와 충돌인지 잘 되지 않았다. 
그리고 UseContext 같은 경우에도 다음 데이터를 전해주는 과정에서 
잘 되지 않아 결국엔 useNavigate 에 있는 state 를 전달해 주고 
다음 페이지에서 useLocation 에서 받게 하였다. 

질의 응답에 

🐶 MemoryRouter 와 BrowsRouter 의 다른 점은?

MemoryRouter는 실질적으로 프로젝트 안에서 결국 사용하지 않았지만, 

MemoryRouter는 주소 표시줄의 변화 없이 라우팅을 처리한다. 주소의 변경 없이도 라우팅된 컴포넌트를 렌더링할 수 있고, 이는 일반적으로 브라우저가 없는 환경에서 라우팅을 테스트하거나 상태 관리를 위해 사용된다. 또한 일부 사용자 지정 라우팅 로직을 구현할 때 유용하다.

BrowserRouter는 HTML5 History API를 사용하여 브라우저의 주소 표시줄을 업데이트하고 라우팅을 처리한다. 실제 브라우저 주소와 일치하는 경로에 대해 컴포넌트를 렌더링하며, 브라우저의 뒤로가기 및 앞으로가기 버튼을 지원함. 주소 표시줄이 실제 경로를 반영하기 때문에 검색 엔진 최적화(SEO)에 유리하며, 일반적으로 웹 서버와 함께 사용된다.

🐾**요약하면 **
BrowserRouter는 실제 브라우저 주소 표시줄과 동기화하여 라우팅을 처리하는 반면에, MemoryRouter는 주소 표시줄 변경 없이 라우팅을 처리하며 특정 상태 또는 테스트 용도로 사용할 수 있는 것이다. 

질의 응답에 대답을 생각만큼 잘 하진 못했다. 충돌이 나는 시점에 그 에러를 고치고 구현에만 신경쓰느라 다른 점을 생각하지 못했던 것 같다. 
이 점을 다시한번 글로 써보고 기억하기 위해 포스트를 올려본다. 

반응형
Comments