首页 > 解决方案 > 我想在 react native 中根据路由名称渲染特定组件

问题描述

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

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

标签: androidreactjsreact-nativereact-native-navigationexpo

解决方案


如果要检查的条件超过 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在您的代码中进一步使用。
如果这不是您想要的,请告诉我并添加更多代码,以便我们找出解决方案。


推荐阅读