我正在尝试使用v5 compat的新useMatches钩子
lib
。根据迁移
guide
,实现应该如此简单:
import {
CompatRouter,
} from "react-router-dom-v5-compat";
// other stuff
<BrowserRouter>
<CompatRouter> // nest inside v5 router
<Switch>
<Route path={BASE_PATH}>
<App />
</Route>
<Route>
<Redirect to={BASE_PATH} />
</Route>
</Switch>
</CompatRouter>
</BrowserRouter>
但是,如果随后尝试使用useMatches,则会出现以下错误:
useMatches must be used within a data router.
我会使用createBrowserRouter(或类似的数据API),但这是一个巨大的应用程序,所以我想逐步升级我的路由。通过使用liek-createBrowserRouter,我必须替换整个BrowserRoute——这是一个太大的变化。
有没有一种方法可以通过CompatRouter进行增量更改
和
使用新的useMatches,而不必一次进行大规模重写?