我正在使用react-router browserHistory
导航到路径。
browserHistory.push({
pathname: '/mycomponent',
state: { someValue: 'value'},
});
所以这将导航到mycomponent。一旦我到达我的组件,我想清除键someValue
。所以当我刷新页面时,它不会包含该值。
export class myComponent extends component {
componentWillMount() {
const value = this.props.location.state.someValue;
// clear state.someValue from history
}
}
任何帮助都将不胜感激。
答案 0 :(得分:15)
我认为您可以使用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: {}
});
}
}
答案 1 :(得分:0)
您可以简单地使用 history.replace()
清除状态,如下所示:
只是
import { useHistory } from 'react-router-dom';
然后const history = useHistory();
最后:
useEffect(() => {
history.replace();
}, []);