개발자

React에서 정렬 또는 필터에 따라서 Query Parameter를 변경하는 방식과 useState를 변경하는 방식의 장단점이 궁금합니다

2023년 06월 09일조회 153

정렬 또는 필터링을 구현할 때 React를 예로들어 웹사이트의 Query Parameters를 변경하고 받아와서 만드는 방식과 useState로 url을 변경하지 않고 만드는 방식 둘중에 선택해야한다면 어떤 방식이 더 좋고 그 이유를 알 수 있을까요?.. API 요청은 동일하고 URL을 변경하지 않느냐 변경하느냐 어떤게 더 옳은것인가?... 그런 부분이 궁금합니다 예를들어 정렬화면을 보여줄때 /?sort=ASC 또는 /?sort=DSC로 하고 url의 sort 값을 불러오고 url을 변경하는 방식과 const [sort, setSort] = useState('ASC')로 useState의 값을 변경하는 방식 이 두가지 중 어떤 방법이 더 선호되야하고 그 이유가 궁금했습니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

권민수님의 프로필 사진

useState만을 사용하는 경우 자바스크립트의 영역이기 때문에 URL에 변경사항이 전이되지 않고, 새로고침과 같은 액션이 발생하는 경우 상태가 초기값으로 리셋되게 됩니다. 또한 다음과 같은 상황이 있을 수도 있어요 : 사용자 A가 페이지를 탐색하다가 현재 보고 있는 화면을 똑같이 사용자 B에게 공유하고 싶어서 주소를 복사해서 공유해줬을때, 사용자 B는 필터가 적용되지 않은 초기 상태의 페이지를 보게됩니다. 당황스러울 수 있겠죠? URL에 상태변화가 sync 된다면 위와 같이 새로고침/주소 공유시에도 같은 화면을 볼 수 있게 되기도하고, url history replace가 아닌 push를 하게 되는 경우 브라우저의 히스토리에 필터 적용/미적용 변경상태를 남겨 뒤로가기/앞으로가기 경험을 개선시킬 수도 있습니다. 필터 적용/미적용 상태가 URL에 포함되기 때문에 SEO 측면에서도 도움이 될 가능성이 높구요. 하지만 이런 부분들이 그렇게 중요하지 않고, 단순히 빠르게 개발해야하는 부분이라면 꼭 URL sync를 맞춰줘야하는건 아닙니다. 유즈케이스에 따라서 결정하시면 될 것 같아요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!