React
URL마다 컴포넌트 스타일 다르게 하기
용용it
2024. 3. 31. 22:33
상황
재활용 해야하는 컴포넌트가 있는데
/user 에서는 width나 height를 다르게 해야하는 상황이다.
리엑트의 도움을 받자
우선 리액트 hook인 useLocation()를 사용해보자
여기서 pathname은
URL의 경로 부분을 나타낸다.
예를 들어, URL이 https://example.com/user 일경우,
pathname은 /user가 된다.
만약 https://example.com/user/dragon 일 경우는 ?!
pathname은 /users/dragon이 된다.
startsWith는 ?
JavaScript에서 문자열이 특정 문자로 시작하는지를 확인할 때 사용하는 메소드이다.
이 메소드는 대소문자를 구분하여 작동하고,
문자열이 지정된 검색 문자열로 시작하는 경우 true를, 그렇지 않은 경우 false를 반환합니다.
이제
const UserRoute = location.pathname.startsWith('/user/');에서
UserRoute를 프롭스로 전달하고
스타일드 컴포넌트에서 삼항 연산자로 원하는 스타일을 지정해주면 된다.