繁体   English   中英

React Router:在导航后强制实际渲染库组件(SPA)

[英]React Router: Force actual render of library components after navigation (SPA)

我有一个普遍的问题,每当我将 React Router 添加到我的 React 项目之一中时,它都会破坏其他库的渲染能力,通常是来自 NPM 的包,例如 Apex Charts 和 JQuery 的 JVectorMap。

如果我刷新页面,上述库可以工作,但是当我们进行 SPA 导航时(实际上并不刷新或更改页面,只是换出一些活动视图),它无法呈现这些组件。

我为组件使用的库越多,看起来就越坏,这就是为什么它让我相信这是 React Router 的问题。 有没有办法使用 React Router 在页面加载时强制刷新以解决此问题?

我想出了一些 hacky 解决方案,例如在组件挂载上触发事件,强制刷新或调整页面大小,但这感觉不是处理这个问题的正确方法。 请指教。

已解决:只需对拥有它们的库使用反应包装器。 在我的例子中,Apex Charts 和 Jvectormap 都有为 npm 上的 React 编写的可靠包装器。 现在,当我使用它们时,它可以很好地处理重新加载导航:)

我怀疑这实际上是 React(可能是 v18 严格模式)而不是 React Router 的问题,尽管我不能肯定地说。

暂无
暂无

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

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