Я хочу отображать определенные компоненты на основе имени маршрута в react native

Он выполняет свою работу, но когда компонентов больше 10, отлаживать код становится сложно. Будет найден эффективный способ.

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

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далее в вашем коде.
Если это не то, что вам нужно, дайте мне знать и добавьте дополнительный код, чтобы мы могли найти решение.

Другие вопросы по тегам