【发布时间】:2019-09-03 05:11:54
【问题描述】:
基本上,我想要做的是在页面刷新时呈现与刷新页面时呈现的相同组件。如何获取正在渲染的组件的名称。另外,我还没有在项目中的任何地方使用 react-router。没有 react-router 是否可以做我要求的事情?
我使用 onbeforeunload 事件来检测页面刷新。现在我应该在它的函数中做什么来渲染相同的组件? 此代码在我的 app.js 组件的 componentDidMount() 中
window.onbeforeunload = function(e) { e.preventDefault()
return console.log('Hello123')
};
这是在控制台中记录 Hello123。唯一的问题是获取最后呈现的组件的名称。有什么方法可以让应用记住最后渲染的组件的名称,刷新后检查是否有名称,如果有则渲染该组件。
例如,假设我正在渲染一个名为 TravellerList 的组件,并且在单击按钮时我正在渲染名为 AddTraveller 的组件。现在如何获取正在渲染的组件的名称并将其存储在变量中 不使用 react-router ?
【问题讨论】:
-
您可以考虑使用 localStorage 来设置正在加载的最新视图组件。如果您使用的是 React 路由器,那么您可以检查这个 localStorage 项并强制加载某个路由。
-
是的,我看到了这个问题,但在这里我想做的是记住最后呈现的组件的名称,并将其存储在一个变量中,而不使用 react-router。我也没有在我的项目中的任何地方使用过 react-router
-
@Winston 是的,这就是我在项目中没有使用 react-router 的问题,这就是为什么询问是否有办法在不使用 react-router 的情况下完成此操作
标签: javascript reactjs