1

ルーティングに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が新しいページに移動したとき、または新しいクエリ パラメータがページに追加されたときに、 がトリガーされることはありません。

4

1 に答える 1