我目前通过'react-router-dom'
的状态将数据传递到新页面Redirect
. 这是我的代码:
import {Redirect} from 'react-router-dom';
...
render() {
return <Redirect push to={{pathname: "/account/group/" + temp, state: _data}}/>;
}
...
并在新页面上成功加载数据/account/group
:
...
constructor(props) {
super()
this.state = {
data: props.location.state,
}
}
...
它工作正常,直到我尝试更新新页面上的状态并将其发送到服务器,然后重新加载页面,此状态仍然从props.location.state
中获取旧值,似乎丢失的更新值(实际上,这是由于我无法使用新值更改props.location.state
(。
任何人都可以帮我处理这个案子吗?我的意见是更改/替换props.location.state
的值还是清除它们?
谢谢大家
通过以下方式更改具有新状态的props.location.state
的值:
this.props.history.replace({'pathname': '/account/group/' + _temp, state: newState})
来自文档: https://reacttraining.com/react-router/core/api/history