【发布时间】:2017-09-23 20:53:49
【问题描述】:
我使用 React + Redux 创建了一个 SPA,我正在使用 react-route。 我面临一个问题,每当我切换 /about、/contact、/list 等路线时。每次卸载组件时。
所以,我需要知道这是预期的行为还是我做错了什么。因为在某些组件中,我正在进行 ajax 调用以获取数据,如果组件被卸载并且用户再次返回......即使数据已经在存储中可用,它也会再次调用 ajax。
<Route path="/" component={App}>
<IndexRoute component={HomePage} />
<Route path="about" component={About} />
<Route path="/" component={HomePage} />
</Route>
【问题讨论】:
-
“这是预期的行为”。是的。如果你改变路由,当前路由组件会被卸载,新路由组件会被挂载。
-
有什么办法可以阻止这种情况。实际上我不需要每次都卸载组件。因为不必要的ajax命中。这也是停止卸载组件的正确方法吗?
标签: ajax reactjs redux react-router