Правильный способ добавления экранов навигации вкладок Dynami c: createMaterialTopTabNavigator - PullRequest
0 голосов
/ 13 июля 2020

Код работает нормально. Все, что я хочу знать, это правильный ли это способ сделать это.

Мне нужны вкладки на основе значений в массиве, поэтому я сделал следующее:

import React from "react";
import { createMaterialTopTabNavigator } from "@react-navigation/material-top-tabs";

const Tab = createMaterialTopTabNavigator();

function ProductListNavigator({ route }) {
  const { subCategories, selectedSubcategory } = route.params;
  return (
    <Tab.Navigator
      lazy={true}
      lazyPreloadDistance={3}
    >
      {subCategories.map((subCategory) => (
        <Tab.Screen
          key={subCategory.id}
          name={subCategory.name}
          component={AppProductList}
          options={{ tabBarLabel: subCategory.name }}
          initialParams={{ subCategory }}
        />
      ))}
    </Tab.Navigator>
  );
}

export default ProductListNavigator;

Будет ли это неэффективным ? Или есть лучший способ сделать это?

Я использую React navigation v5

...