티스토리 뷰

카테고리 없음

Router-Props

철철22 2018. 9. 19. 10:47
반응형

Angular에서처럼Route이용해서PathVariable받을있다.

 

 

 

<Route path="/posts/:postId" component={Post}/>이런식으로path에다가parameter받을값을정해준다.
 

그래고RouteComponentProps이요해제네릭에받을파라미터명을입력하고match이용해파라미터를받는다

const Post= (propsRouteComponentProps<{ postIdstring}>) =>{

return(

<h3>Post {props.match.params.postId}</h3>

);

};

 

 

RouteComponentProps의 속성은 다음과 같다

 

historyH.History브라우저의 window.history객체와 비슷함주소를 임의로 변경 하거나 되돌아 갈 수 있다.

주소를변경하더라도spa 동장방식에맞게페이지일부만리로드

 

locationH.Location<S>; 브라우저의window.location 객체와 비슷함,  url을 다루기 쉽게 쪼개서 가지고 있음

 

matchmatch<P>; path에 정의한 것과 매치된 정보를 담고있다.

 

staticContext?: C;  서버사이드렌더링용?

 

 

 

 

쿼리파람받는법

 

path를 이용한 파라미터 뿐 아니라 query를 이용한 파라미터를 받는법도 있다

 

ex)

// 버튼을 누르면 goNextPost 실행

<button onClick={goNextPost}>페이지 이동</button>

 

functiongoNextPost() {

constnextPostId= +props.match.params.postId1;

props.history.push(`/posts/${nextPostId}`);

}

 

http://localhost:3000/posts/14?body=asdf입력한 후 밑 처럼 받는다

<p>{new URLSearchParams(props.location.search).get('body')}</p>

 

URLSearchParams 말고 좀 더 좋은 라이브러리가 있으니 찾아 보도록!

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함