有条件地检查Link是否在反应路由器Router HOC中

时间:2020-07-08 10:32:21

标签: reactjs react-router

我有一个名为LinkButton的元素。在此行const location = useLocation();中,然后进行检查,如果当前路由和to值相同,则将其呈现为div而不是{{1} }

但是,我还希望按钮独立于位于路由器内,如果没有,则默认默认为div,以进行测试而不必将组件包装在模拟路由器中。

问题在于,<Link />会在路由器HOC之外尝试时被吐出来。

基本上,我需要某种方式说“如果它在Cannot read property 'location' of undefined内,则执行此操作……否则执行此操作”而不会引发错误。我无法将<Router />移到任何地方或将其放入try / catch中,而不会破坏钩子的基本原理。

我的最初方法是不打扰useLocation,而只使用window.location,但这会带来自己的问题,即useLocation()问题,这进一步使我想在不位于HOC。

有什么想法吗? TIA

0 个答案:

没有答案