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 을 넣어줘야 하는 듯.