我正在使用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();
}, []);