ルーティングにreact-router v4を使用しており、クエリパラメーターを解析しています。history.listen
ここで使用することをお勧めします
ライフサイクル フック内で呼び出してcomponentDidMount
、コンポーネントがマウントされていることを確認し、次のような高次コンポーネントを使用してコンポーネントの状態の一部として提供できるようにします。
import createHistory from 'history/createBrowserHistory';
import qs from 'qs';
import { compose, lifecycle, withState } from 'recompose';
export const history = createHistory();
const withQs = compose(
withState('search', 'setSearch', {}),
lifecycle({
componentDidMount: function () {
// works on the client side
history.listen(() => {
// history.location = Object.assign(history.location,
// parse the search string using your package of choice
// { query: parseQueryString(history.location.search) }
// )
console.log('History Location', history.location);
console.log('Search', history.location.search);
})
}
})
)
export default withQs
ルートhistory.listen
が新しいページに移動したとき、または新しいクエリ パラメータがページに追加されたときに、 がトリガーされることはありません。