我怎么知道我是否在React路由器内部?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎么知道我是否在React路由器内部?相关的知识,希望对你有一定的参考价值。

我正在开发一个呈现各种链接的Web浏览器扩展。这些链接可以在“应用程序”路径(扩展名中为app.html)内显示,也可以从浏览器操作窗口(菜单栏中的扩展名按钮)中呈现。

该应用定义了一个React路由器;弹出窗口没有。

当我在应用程序本身中呈现链接时,我可以使用:

import { Link } from 'react-router-dom';

// ...

<Link to={...}>Foo</Link>

但是,在弹出窗口中,这不起作用,因为出现错误:

Invariant failed: You should not use <Link> outside a <Router>

这很自然。但是我想通过辅助功能或组件创建链接,如何确定当前是否在路由器内部?

请注意,我原则上可以传递一个道具,该道具明确告诉组件它是否是路由器的一部分,但这似乎很冗长。

我正在开发一个呈现各种链接的Web浏览器扩展。这些链接可以在“应用程序”路径(扩展名为app.html)内显示,也可以从浏览器操作窗口(...

答案
None

以上是关于我怎么知道我是否在React路由器内部?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 中正确使用路由器内部的路由器

底部导航 如何从片段内部更改片段

React 路由器和历史

使用具有不同片段字段的相同中继根查询的多个 react-router-relay 路由

反应路由器“#在路由内部签名”

从片段内部调用活动方法[重复]