2017-08-02 71 views
0

我使用了React和React-Router,并且我有一个包含所有会话数据的顶级组件<App/>。每当我导航到不同的页面时,我都会丢失状态信息。我该如何坚持所有页面的状态数据? (如果这是不可能的,是否有不同的方式我应该执行我的会话数据?)如何在页面导航中保留状态数据?

+0

你使用的是browserRouter还是hashRouter?你如何在页面之间导航?如果你使用react-router的链接元素进行导航,它的历史,那么祖先组件的状态应该被保留下来。 –

+0

@PhilBellamy我正在使用来自react-bootstrap的''链接,这些链接使用它们的href属性导航到不同的页面。 –

+0

使用传统href链接页面将重新加载该页面,因此为什么你的状态是丢失的。通过使用反应路由器导航技术(例如链接元素),页面不会被重新加载,你应该会发现你的顶级组件状态通过导航持续存在 –

回答

1

您可以使用session storage (sessionStorage)来存储要跨页面保留的数据项。这不会发送到服务器,并在会话结束时消失。 (你也可以使用localStorage来进行下一次访问时你可能想要保留的东西

1

我使用Redux它存储你想要的组件外的数据,你可以在任何你喜欢的地方连接。

相关问题