Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止位置对象在重新加载时重置_Javascript_Reactjs - Fatal编程技术网

Javascript 如何防止位置对象在重新加载时重置

Javascript 如何防止位置对象在重新加载时重置,javascript,reactjs,Javascript,Reactjs,我正在使用链接重新直接调用另一个组件。像这样的 <Link to={{ pathname: "/app/" + app.appId, appDetail: { app: app } }}>> > 在调用path/app/:appId时,它调用AppDetails组件。我在location object中获取appDetail对象 但是在重新加载route/app/:appId时,location对象中的这个appDetail将变得未定义。因此,如何防止这

我正在使用链接重新直接调用另一个组件。像这样的

<Link to={{ pathname: "/app/" + app.appId, appDetail: { app: app } }}>>
>
在调用path/app/:appId时,它调用AppDetails组件。我在location object中获取appDetail对象


但是在重新加载route/app/:appId时,location对象中的这个appDetail将变得未定义。因此,如何防止这种情况发生,以便在重新加载/app/:appId时,不会未定义location对象中的此appDetail 如果出现以下情况,请尝试将位置对象放入:

if(!location) {
  return <>Loading...</>
}
if(!位置){
返回加载。。。
}

上述条件将保持执行,直到条件满足

状态
属性将数据传递给其他组件。所以你可以这样做:

<Link to={{
  pathname: "/app/" + app.appId,
  state: { appDetail: { app: app }}
}}>

我使用的localStorage也能正常工作。但这是在链接中使用状态的解决方案
const { appDetail } = this.props.location.state;