【问题标题】:React Router - Remove Link components after clicked on?React Router - 单击后删除链接组件?
【发布时间】:2018-02-05 19:35:09
【问题描述】:

使用 React Router 时,如何在单击 Link 并且路由完成时卸载/删除 Link 组件所在的 div 或 Link 组件本身?

例如,我有一个这样的应用程序:

==Header==
==Link1 Link2==

当用户被路由到Link1 时,==Link1 Link2== div 应该被卸载/删除并替换为Link1 的内容。像这样:

==Header==
==Content of Link1, with a "back" button links to home page==

当用户在导航栏中单击Link1 时,我能够呈现Link1 的内容,并且我努力重构BrowserRouterRoutediv 标签,但结果仍然存在像这样:

==Header==
==Link1 Link2==
==Content of Link1, with a "back" button links to home page==

这是CodeSandbox上的sn-p代码,希望能更好地说明我的问题。

CodeSandbox demo

【问题讨论】:

    标签: javascript reactjs react-router url-routing


    【解决方案1】:

    看看这个CodeSandbox demo

    我为/ 路线创建了一条新路线。我只在这条路线上渲染<Navigations /> 组件。

    这是你想要的效果吗?

    【讨论】:

    • 是的,非常酷,谢谢!这是 React Router 的常见模式吗?
    • 您希望使用此模式,因为您希望 <Navigations /> 组件仅显示在特定路线上。您应该将所有特定于路线的组件放入自己的路线中。
    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 2021-10-20
    • 2019-06-06
    相关资源
    最近更新 更多