ActiveClassName在React-Router中带有多层选项卡

达娜

如果嵌套路由与其父路由不同,则React-Router不能识别嵌套路由的组件,但替代方法可防止Link中的activeClassName正常工作。

我有一个具有以下多层选项卡布局的网站:

+---------+---------+
|  Tab 1  |  Tab 2  |
+         +---------+---------------------------+--------+--------+
|                                               | Menu 1 | Menu 2 |
+-----------------------------------------------+        +--------+
|                                                                 |
~                                                                 ~

我的路线定义如下:

<Router history={browserHistory}>
  <Route path"/" component={App}>
    <Route path="Tab1" component={Tab1Component}>
      <Route path="Menu1" component={Tab1Component} />
      <Route path="Menu2" component={Tab1Menu2Component} />
    </Route>
    <Route path="Tab2" component={Tab2Component} />
  </Route>
</Router>

选项卡链接定义如下:

<Link to="/Tab1/Menu1" activeClassName="active" />
<Link to="/Tab2"       activeClassName="active" />

菜单链接定义如下:

<Link to="/Tab1/Menu1" activeClassName="active" />
<Link to="/Tab1/Menu2" activeClassName="active" />

当我单击“制表符1”,然后单击“菜单2”时,活动类仍将应用到“制表符1”和“菜单2”(应按它们的方式),但仍显示Tab1Component。如果我将Tab1Menu2Component路由移到其父级之外...

<Router history={browserHistory}>
  <Route path="/" component={App}>
    <Route path="Tab1" component={Tab1Component}>
      <Route path="Menu1" component={Tab1Component} />
    </Route>
    <Route path="Tab1/Menu2" component={Tab1Menu2Component} />
    <Route path="Tab2" component={Tab2Component} />
  </Route>
</Router>

...然后,当我单击“菜单2”时,将显示Tab1Menu2Component的内容。但是,您不能以“ Tab 1”和“ Menu 2”都获得活动类的方式使用activeClassName…“ Menu 2”会从“ Tab 1”中窃取活动类。

我想以一种方式使Tab1和Menu2可以同时具有活动类,并显示Tab1Menu2Component。我该如何完成?

死鱼

您可以简单地this.props.children从Tab1Component返回

我建议您参考在react-router存储库中找到动态细分示例它几乎处理了类似的情况

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ActiveClassName在React-Router中带有多层选项卡

来自分类Dev

React Router NavLink和activeClassName的问题

来自分类Dev

History.Push链接到带有React Router的新选项卡

来自分类Dev

react-router:如何使activeClassName用于非精确路由?

来自分类Dev

使用React Native Router Flux在所有场景中维护选项卡

来自分类Dev

React Native-尝试在React导航中创建带有选项卡导航器的抽屉,而不渲染选项卡的Drawer项

来自分类Dev

如何在react-router中为Link或IndexLink的包装元素设置activeClassName?

来自分类Dev

在React Router v4中为NavLink设置默认的activeClassName

来自分类Dev

NavLink不添加activeClassName(react-router-dom v5.2.0)

来自分类Dev

React router v4 - activeStyle 和 activeClassName 不起作用

来自分类Dev

react-bootstrap:使用带有不同消息的选项卡

来自分类Dev

React Router browserHistory.push在新选项卡中打开链接

来自分类Dev

`react-native run-ios`打开两个带有错误的调试选项卡

来自分类Dev

为什么活动选项卡重定向到React Material中的第一个选项卡

来自分类Dev

转到子场景选项卡-react-native-router-flux

来自分类Dev

通过react-native-router-flux在本机基本页脚选项卡中导航

来自分类Dev

使用 react-native-router-flux 无法正确显示导航栏和选项卡

来自分类Dev

带有 POST 的 Javascript 书签中的新选项卡

来自分类Dev

如何在React Native中的react选项卡导航中设置默认屏幕Route

来自分类Dev

在React Native中更改React导航选项卡的底部栏容器颜色

来自分类Dev

react-native-navigation:如何转到没有选项卡栏的特殊页面?

来自分类Dev

在所有屏幕上显示选项卡React Native

来自分类Dev

有一个选项卡充当抽屉 React Native

来自分类常见问题

消除React Native中的“远程调试器在后台选项卡”警告

来自分类Dev

如何在React JS中为特定输入禁用选项卡按钮?

来自分类Dev

使用选项卡栏和导航栏的React Native中的iOS 13黑暗模式

来自分类Dev

在选项卡之间切换时避免在React中重新渲染

来自分类Dev

在React Native Navigation中的选项卡之间切换时如何保持堆叠的屏幕

来自分类Dev

如何在React Native底部选项卡中处理后退按钮行为?

Related 相关文章

  1. 1

    ActiveClassName在React-Router中带有多层选项卡

  2. 2

    React Router NavLink和activeClassName的问题

  3. 3

    History.Push链接到带有React Router的新选项卡

  4. 4

    react-router:如何使activeClassName用于非精确路由?

  5. 5

    使用React Native Router Flux在所有场景中维护选项卡

  6. 6

    React Native-尝试在React导航中创建带有选项卡导航器的抽屉,而不渲染选项卡的Drawer项

  7. 7

    如何在react-router中为Link或IndexLink的包装元素设置activeClassName?

  8. 8

    在React Router v4中为NavLink设置默认的activeClassName

  9. 9

    NavLink不添加activeClassName(react-router-dom v5.2.0)

  10. 10

    React router v4 - activeStyle 和 activeClassName 不起作用

  11. 11

    react-bootstrap:使用带有不同消息的选项卡

  12. 12

    React Router browserHistory.push在新选项卡中打开链接

  13. 13

    `react-native run-ios`打开两个带有错误的调试选项卡

  14. 14

    为什么活动选项卡重定向到React Material中的第一个选项卡

  15. 15

    转到子场景选项卡-react-native-router-flux

  16. 16

    通过react-native-router-flux在本机基本页脚选项卡中导航

  17. 17

    使用 react-native-router-flux 无法正确显示导航栏和选项卡

  18. 18

    带有 POST 的 Javascript 书签中的新选项卡

  19. 19

    如何在React Native中的react选项卡导航中设置默认屏幕Route

  20. 20

    在React Native中更改React导航选项卡的底部栏容器颜色

  21. 21

    react-native-navigation:如何转到没有选项卡栏的特殊页面?

  22. 22

    在所有屏幕上显示选项卡React Native

  23. 23

    有一个选项卡充当抽屉 React Native

  24. 24

    消除React Native中的“远程调试器在后台选项卡”警告

  25. 25

    如何在React JS中为特定输入禁用选项卡按钮?

  26. 26

    使用选项卡栏和导航栏的React Native中的iOS 13黑暗模式

  27. 27

    在选项卡之间切换时避免在React中重新渲染

  28. 28

    在React Native Navigation中的选项卡之间切换时如何保持堆叠的屏幕

  29. 29

    如何在React Native底部选项卡中处理后退按钮行为?

热门标签

归档