yad*_*lar 2 angularjs reactjs react-router react-router-dom
我正在将 AngularJS 应用程序一点一点地迁移到 React,我希望有一个自定义的RouterLinkReact 组件来检查是否react-router在上下文中,以便它可以使用history,如果不是,则回退到使用旧的window.location. react-router但我在的文档中没有看到任何检查这一点的方法。
我尝试使用withRouter,但它在不在上下文中时抛出,并且ErrorBoundary似乎没有捕获错误。
有谁知道我该怎么做?
包中公开了 Router 上下文react-router,即__RouterContext,通过使用它可以检查路由器是否可用:
import React, { useContext } from 'react';
import { __RouterContext } from 'react-router';
const MyComponent = (props) => {
const router = useContext(__RouterContext);
if (router) {
// Router context is avaible
} else {
// Use window.location as router context is not availble in this component
}
return <SomeOtherComponent />
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |