React Router:替换位置状态然后返回,位置状态未定义
React Router: Replace location state then goBack, location state is undefined
this.props.history.replace({
state: {
from: 'dashboard'
}
});
this.props.history.goBack();
更新this.props.location.state
后this.props.history.goBack()
使用this.props.history.goBack()
时this.props.location.state
的值为undefined
。但是
this.props.history.push({
pathname: '/',
state: {
from: 'dashboard'
}
});
有效并保留 this.props.location.state
的值。
知道如何更新 this.props.location.state
然后使用 this.props.history.goBack
吗?
根据官方文档:
- push(path, [state]) - (function) 将新条目推送到历史堆栈
- replace(path, [state]) - (function) 替换历史堆栈中的当前条目
- go(n) - (function) 将历史堆栈中的指针移动 n 个条目
- goBack() - (function) 相当于go(-1)
- goForward() - (function) 相当于go(1)
所以最好使用 this.props.history.push({})
如果你想使用 goBack()
为了更好地理解您可以访问react-router-dom, history
this.props.history.replace({
state: {
from: 'dashboard'
}
});
this.props.history.goBack();
更新this.props.location.state
后this.props.history.goBack()
使用this.props.history.goBack()
时this.props.location.state
的值为undefined
。但是
this.props.history.push({
pathname: '/',
state: {
from: 'dashboard'
}
});
有效并保留 this.props.location.state
的值。
知道如何更新 this.props.location.state
然后使用 this.props.history.goBack
吗?
根据官方文档:
- push(path, [state]) - (function) 将新条目推送到历史堆栈
- replace(path, [state]) - (function) 替换历史堆栈中的当前条目
- go(n) - (function) 将历史堆栈中的指针移动 n 个条目
- goBack() - (function) 相当于go(-1)
- goForward() - (function) 相当于go(1)
所以最好使用 this.props.history.push({})
如果你想使用 goBack()
为了更好地理解您可以访问react-router-dom, history