【问题标题】:I want to render specific components on the basis of route name in react native我想在 react native 中根据路由名称渲染特定组件
【发布时间】:2020-07-20 02:26:48
【问题描述】:

它完成了工作,但是当有超过 10 个组件时,调试代码变得很困难。一个有效的方法将被应用。

                name={route.name}
                component={
                    route.name == 'Cart'
                        ? Cart
                        : route.name == 'Checkout'
                        ? Checkout
                        : Home
                }
                options={{
                    title: route.name, //Set Header Title
                }}
            />```

【问题讨论】:

  • 您是否只使用一个导航组件在不同屏幕之间导航?您能否提及您在使用 react-navigation 时更喜欢哪种导航?
  • 你能多写几行代码吗?

标签: android reactjs react-native react-native-navigation expo


【解决方案1】:

如果要检查的条件超过 5 个,则使用条件运算符 ?: 可能会很棘手。
所以我更喜欢使用switch 的情况来检查route 名称并将相应的组件分配给variable,并在要显示组件的地方使用该变量。

let route = route.name;
let dyanamic_compoent;
switch(route){
  case "route_name":
     dyanamic_compoent = your_compoent_name;
     break;
  case "route_name":
     dyanamic_compoent = your_compoent_name;
     break;
  default:
     dyanamic_compoent = default_your_compoent_name;
}

根据您的需要将此代码放置在您的组件中。并在您的代码中进一步使用dyanamic_component
如果这不是您想要的,请告诉我并添加更多代码,以便我们找出解决方案。

【讨论】:

    猜你喜欢
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2018-05-13
    • 2020-09-12
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多