react-router 사용하기
1. react-router
- 리액트의 공식 라이브러리는 아니다. 그러나 react 개발자들의 1/3 정도 사용하고 있다.
2. 프로젝트 구성
1) 폴더
/css
/js
-bundle.js
/jsx
- about.jsx
- app.jsx
- contact.jsx
- posts.jsx
- post.jsx
/node_modules
index.html
package.json
posts.js ----> 데이터
webpack.config.js
2) index.html
3) package.json
- webpack, history 등 상당히 낮은 버전을 사용하고 있다(주의)
- history 는 버전 2.x 에서 지원이 종료되어 대신 context.router 를 사용할 수 있다.
4) webpack.config.js
5) Content.jsx
- 부모 Route로 정의될 Content 컴포넌트이다.
- isActive() : true/false 를 반환하며 router 의 상태를 알 수 있다.
- contextType : this.context.router를 사용할 수 있도록 정적 클래스 속성인 contextType을 정의 해야한다. router 를 필수(require) 로 설정해 놓으면 this.context.router.isActive('/about')로 접근할 수 있게 되어 특정 경로가 활성화 되었음을 알 수 있다.
- Link : 내비게이션 링크 생성
- {this.props.children} : 자식 컴포넌트를 렌더링한다.
6) about.jsx
7) posts.jsx
- post 에 있는 데이터 리스트를 화면에 출력한다.
8) post.jsx
- 개별 데이터를 불러와서 화면에 노출한다.
- 매개 변수로 데이터를 전달한다.
- this.props.NAME 을 이용하여 다양한 정보에 접근이 가능하다(location, history, params, route, routeParams, routes)
9) post.js
- 데이터
'Front-End > ReactJs' 카테고리의 다른 글
[ReactJs] 브라우저 히스토리 vs 해시 히스토리 (0) | 2018.08.16 |
---|---|
[ReactJs] react-router 고차 컴포넌트인 withRouter 사용 (0) | 2018.08.16 |
[ReactJs] react router 처음부터 만들기 (0) | 2018.08.16 |
[ReactJs] 서버사이드 렌더링 (0) | 2018.08.12 |
[ReactJs] node.js를 이용한 react 컴포넌트 렌더링 (0) | 2018.08.12 |