繁体   English   中英

离开组件时,React-Router重新加载组件

[英]React-Router Reloads Component When Navigating Away From It

我试图跟上React和Redux的步伐。 我目前有这样的设置:

商店的状态具有带数字的'activeAction'属性。 Page组件使用“ activeAction”来确定应在应用程序的中心显示哪个组件,并根据当前URL对其进行更改。 例如,“ / Home”是activeAction:0,而“ / About”是activeAction:1

/ Home的组件称为BlogRoll,该组件具有实际逻辑,可以显示来自Blogger api调用的帖子。 我正在调用该操作以显示组件componentDidMount函数中的帖子。 / About的组件仅具有一个显示“内容区域”的呈现功能...暂时只是一个占位符。

我的导航设置为链接组件:

<div className="NavItem">
   <Link to={'/Home'} activeClassName="ActiveMenuItem">Home</Link>
</div>
<div className="NavItem">
   <Link to={'/About'} activeClassName="ActiveMenuItem">About</Link>
</div>

我遇到的问题是单击“ Home Link (它可以正常工作)然后单击“ About Link ,在进入“关于”组件之前要重新加载BlogRoll组件。 我通过在BlogRoll.componentDidMount()放置一个断点来知道这一点。 我单击以转到“关于”,但在此之前它会重新加载BlogRoll。

这是故意行为吗? 似乎不应该这样做,但是我仍在学习,可能还没有完全了解组件的生命周期。

谢谢你的帮助!

这是故意行为。

如果未渲染,则在React-router组件中将其卸载。

您可以在react-router repo中阅读有关组件生命周期的更多信息。

如果要在组件中保持持久状态,则可以使用Redux存储。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM