を再描画しません、私はこの実行されるハンドラを持つコンポーネントを持っている:は、ルータに反応:hashHistory追加クエリのparamsは現在
/somepath
のルート要素は、クエリのparamsを取得し、それらを格納するように構成されて
_redirect() {
hashHistory.push(`/somepath?a=1&b=2`)
}
状態は次のようになります。
class SomeComponent extends React.Component {
constructor (props) {
super(props)
this.state = {
a: this.props.location.query.a || 5,
b: this.props.location.query.b || -2,
}
}
私は現在、別のパスにいる場合、物事は完全に機能します。私が実行している問題は、すでにパラメータがない/somepath
に入っていて、ハンドラを実行すると、urlにパスが追加されます(パスはURLバーの/somepath?a=1&b=2
に変更されます)。しかし、ページ自体は再レンダリング。
私はコンストラクタが最初のpageloadでのみ実行されることを理解しています。これは、クエリのパラメータを取得せず、新しいリロードでない限り状態に格納する理由を説明しています。 hashHistory.push()
を付け加えた新しいパラメータにページを敏感にする方法はありますか?
問題点を確認するためのコードを入力してください。 –
@RazvanAlex完了! –