0
最近,我开始使用React构建一个单页面应用程序,然后我拿起反应路由器来完成导航部分,但是当需要传递页面之间的参数,我发现官方文档的解决方案是将参数作为查询字符串或参数添加到URL中,这不是我所期望的(我想在传统的POST方法中保留隐含的参数,与服务器通信)。好或坏,使用浏览器状态传递参数历史
一段时间谷歌搜索后,我找到了解决办法,请拨打
browserHistory.push({
path : '/Paradise',
state : { location : 'Shangri-La'}
})
通过在browserHistory的状态参数,并检索使用
this.props.location.state.location
这工作正常的状态,这正是我所期望的。我只想知道这是否是一个很好的做法。对不起,我的英文破碎了。
你的英语是绝对不破。但是,除非你真的给自己一个理由,为什么你认为这种方法有什么问题,或者它不适用于你,这几乎是一个有见地的问题。到目前为止,您正在质疑官方文档中的某些内容,并且工作正常。去自己解释:) – Gimby
同意@Gimby。你在做什么是绝对好的。您正在使用位置状态的方式。如果这是一个好习惯,则取决于整个应用程序。如果你只需要在几页之间发送一个状态,那很好。但是,如果所有页面都需要这样做,我建议使用[tag:react-router-relay]查看[tag:react-redux]或[tag:relayjs]。这就是说,你的问题对于这个网站来说有点偏离主题,除了基本上是/否,这里没什么可说的。希望有所帮助。 – Chris
谢谢@Gimby,快速回复。你的意思是说,这是一个官方的方法来操作状态作为参数容器,但是我没有找到来自react-router或W3C html5的官方文档,你有什么参考? – Songva