可以说我只有一个组件,该组件在挂载时会获取一些数据。 我希望一旦组件获取了数据就可以更改url(pushState),但是我不想更改页面上的任何内容或重新呈现该组件。
假设我有一个路由“ /”,它加载了一个,它会在加载时获取搜索到的内容。提取数据后,我希望能够更新网址说/ searchterm
我想做类似的事情 window.history.pushState(null,null,'/ searchterm'),其中url已更新,但页面上没有任何更改。
尝试使用with状态并使用this.props.history.push
答案 0 :(得分:0)
您可以将路由存储为您的状态,然后memoize将组件存储在函数中,如果该路由发生更改,该函数将返回true,这将阻止更新。如果您仍在使用类组件,则可以使用shouldComponentUpdate
实现类似的功能