在导航到某个路径后清除位置状态



我正在使用react-router browserHistory导航到路径。

browserHistory.push({
  pathname: '/mycomponent',
  state: { someValue: 'value'},
});

因此,这将导航到MyComponent。一旦到达MyComponent,我想清除键someValue。因此,当我刷新页面时,它不会包含该值。

export class myComponent extends component {
  componentWillMount() {
    const value = this.props.location.state.someValue;
    // clear state.someValue from history
  }
}

任何帮助将不胜感激。

我认为您可以使用browserhistory replace方法用新的 someValue替换历史记录状态:

export class myComponent extends component {
    componentWillMount() {
        const value = this.props.location.state.someValue;
       // clear state.someValue from history
        browserHistory.replace({
           pathname: '/mycomponent',
           state: {}
       });
    }
}

您可以简单地使用history.replace()清除状态,这样:

只是 import { useHistory } from 'react-router-dom';

,然后 const history = useHistory();

最后:

useEffect(() => {
  history.replace();
}, []);

相关内容

  • 没有找到相关文章

最新更新