我想存储url query
作为所在地的状态。
~ history.push({
+ ...history.location,
+ search: query.toString(),
+ state: {
+ myState: query.toString(),
+ },
+ })
我怀疑当路线改变时会得到状态,但是state
become undefined
当我从其他路线回来时。
就是这样state
(来自历史API)有效。状态附加到会话中的某个位置并且不存在(或者更确切地说,是null
)当您直接导航到某个页面时。
一般来说,我不建议使用 location.state 来传递除临时数据(如重定向位置)之外的任何内容。如果您需要将数据附加到某个位置,我建议您使用路径参数或搜索参数,并拥有一个可以从中查找该数据的存储。
// path params
{ pathname: `/path/name/${SOME_ID}` }
// search params
{ search: `?someID=${SOME_ID}` }
如果您确实想使用 location.state,则您的路线将需要有某种备份计划,以便在 location.state 为 null 时使用某些默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)