Route
를 내용을 작성해 보겠습니다👀
src/index.js
파일에서 react-router-dom
에 내장된 BrowserRouter
컴포넌트 사용props
로 쉽게 조회하거나 사용할 수 있도록 해줌<Route path="주소 규칙" component={보여줄 컴포넌트} />
규칙"/"
주소와 "/about"
주소에서 "/"
주소가 "/about"
주소 규칙에도 속하기 때문에 Home 컴포넌트가 "/about"
주소에도 나옴exact
라는 props를 true
로 설정Link
컴포넌트를 클리하면 다른 주소로 이동시켜 주는 컴포넌트a 태그
를 사용하면 안됨<Link to="주소">내용</Link>
<Route path={['/about', '/info']} component={About} />
/profiles/ppby
-> 특정 아이디 또는 이름을 사용하여 조회/about?detail=true
-> 어떤 키워드를 검색하거나 페이지에 필요한 옵션을 전달할 때username
넣어주기match
라는 객체 안의 params
값을 참조match
객체 안에는 현재 컴포넌트가 어떤 경로 규칙에 의해 보이는지에 대한 정보가 들어 있음location
객체에 들어 있는 search
값에서 조회location
객체는 라우트로 사용된 컴포넌트에게 props로 전달location
의 형태 {
"pathname" : "/about",
"search" : "?detail=true",
"hash" : " ",
}
// localhost:3000/about?detail=true 로 들어 갔을 때의 값
Search
값에서 특정 값을 읽어오기 위해서는 이 문자열(?detail=true"
)을 객체 형태로 변환qs
라이브러리 사용
hisroty
객체는 라우트로 사용된 컴포넌트에match
,location
과 함께 전달되는 props 중 하나
HoC
, 라우트로 사용된 컴포넌트가 아니어도match
,location
,history
객체를 접근할 수 있게 해줌
여러
Route
를 감싸서 그 중 일치하는 단 하나의 라우트만을 렌더링 시켜 준다.
현재 경로와
Link
에서 사용하는 경로가 일치하는 경우 특정 스타일 혹은 CSS 클래스를 적용할 수 있는 컴포넌트