로토의 블로그

react-router v4에서 querystring 처리하기

react-router 이전 버전까지만 해도 location.query 처럼 querystring을 object화 시켜서 가지고 있었던 것 같은데, v4에선 그런 값은 없고 querystring 형태로만 가지고 있길래 구글링을 해봤다.

https://github.com/ReactTraining/react-router/issues/4410

관련 논의중 URLSearchParams를 이용하는 방법을 사용했고, 아래와 같이 적용했다.

const search = props.location.search;
const params = new URLSearchParams(search);

this.state = { selectedSearchType: params.get(‘searchType’) || SearchType.EMAIL, keyword: params.get(‘keyword’) || ” }

구형 브라우저인 경우는 https://github.com/jerrybendy/url-search-params-polyfill 을 넣어줘야 하는 듯.