[react]동적 라우팅 (match)
동적라우팅
url 파라미터를 이용해 동적으로 라우팅을 하는 기능 => 뒤의 url에 따라서 다른 값을 렌더해주는 거
history, location, match 세가지 컴포넌트를 이용해 동적 라우팅을 할 수 있다.
- 라우터에서 컴포넌트의 경로에 :id를 추가해준다
<Route exact path="/monsters/detail/:id" component={MonsterDetail} />```
- fetch나 push 하는 경로에 id값을 추가로 입력해준다.
fetch( `https://jsonplaceholder.typicode.com/users/${this.props.match.params.id}` ) .then((res) => res.json()) .then((res) => this.setState({ data: res, }) ); ```
- ComponentDidUpdate(props, state){}를 이용해 렌더 될 때 다시 데이터를 받아올 수 있게한다.
- 이 때 조건을 걸어준다.
componentDidUpdate(prevProps) {
if (prevProps.match.params.id !== this.props.match.params.id) {
this.getData();
}
}```
- 이렇게 유동적으로 id값을 변경시켜서 사용자가 클릭한 내용을 렌더해 보여줄 수 잇따.
Author And Source
이 문제에 관하여([react]동적 라우팅 (match)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kangko05/react동적-라우팅-match저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)