react-router-dom 嵌套路由和重定向

react-router-dom nested routes and redirects

我试图在 quick start guide.

中的 React 训练中对嵌套路由示例进行一些扩展

代码沙箱:https://codesandbox.io/s/routing-test-ubpjp

在代码沙箱浏览器中,如果您导航到 /some - 这有效,然后单击 SomeOne - 这也有效。然而,点击应该重定向到“Some”的“SomeTwo”加载空白,为什么?

此外,这些链接无法立即正常工作?沙盒中可能有一些奇怪的东西,因为我一直在用随机的东西来尝试让它工作。

我只想构建路由,这样我就不必将所有这些路由都放在一个文件中。

我做了很多搜索并尝试了很多不同类型的实现,但所有这些最终都遇到了问题/问题,要么是添加了一个包罗万象的路由,要么是重定向。

从 Switch 移除道具有效,但这会破坏 framer-motion 的 AnimatePresence。

以 framer-motion 为例:https://codesandbox.io/s/framer-motion-x-react-router-n7qhp?file=/src/index.js

即使在导航和重定向组件上使用了 withRouter 挂钩,重定向仍然失败。

您无需将任何道具传递给 Switch 组件。还要确保您正在将 Navigation 组件作为路由或使用 withRouter HOC,以便它收到 Router 道具。

    <Switch>
        {children}
    </Switch>