Фон навигатора вкладок мигает перед открытием

Я использую React Navigation 5 для навигации в своем приложении. У меня есть навигатор вкладок, вложенный в навигатор стека. Когда я перехожу на экран вкладок с главного экрана в навигаторе стека, половина экрана вкладок мигает перед открытием. Изображение прикреплено для справки. Как это исправить?

введите здесь описание изображения

const HomeStackScreen = ({navigation}) => (
  <HomeStack.Navigator
    >
    
    <HomeStack.Screen
      name="Home"
      component={HomeScreen}
      options={{
        title: 'Overview',
      }}
    />
    <HomeStack.Screen
      name="Top Tabs"
      component={TopTabScreen}
      options={{
        title: 'Explore Menu',
      }}
    />
    <HomeStack.Screen
      name="vDetails"
      component={vDetailScreen}
      options={{
        title: '',
        headerMode: 'none',
        headerTransparent: true,
      }}
    />
    <HomeStack.Screen
      name="nDetails"
      component={nDetailScreen}
      options={{
        title: '',
        headerMode: 'none',
        headerTransparent: true,
      }}
    />
    
  </HomeStack.Navigator>
);

const TopTabScreen = ({navigation}) => {
  return (
    <TopTabs.Navigator
      tabBarOptions={{
        labelStyle: {fontSize: 13, fontFamily: 'pro'},
        tabStyle: {width: 140},
        pressColor: '#ffbbbb',
        style: {backgroundColor: '#eee', elevation: 0, shadowOpacity: 0},
        activeTintColor: '#e4293e',
        inactiveTintColor: '#aaa',
        scrollEnabled: true,
        
      }}>
      <TopTabs.Screen
        name="Tab 1"
        component={Tab1}
        options={{
          title: 'Veg Pizza',
        }}
      />
      <TopTabs.Screen
        name="Tab 2"
        component={Tab2}
        options={{
          title: 'Non Veg Pizza',
        }}
      />
     
    </TopTabs.Navigator>
  );
};

comment
я бы сказал! используйте отложенную загрузку на компоненте экрана вкладок, если вы используете плоский список! или используйте recyclerViewReactNative! это не навигатор вкладок, который возится; мне кажется, как настроен ваш список данных!   -  person Rizwan Atta    schedule 27.06.2020
comment
этого не происходит, когда я перемещаюсь в навигаторе вкладок, происходит только тогда, когда я перехожу на вторую вкладку из навигатора стека.   -  person Sva    schedule 27.06.2020
comment
у вас есть список в других вкладках? насколько я знаю! компоненты во вкладках монтируются КАК МОЖНО СКОРЕЕ навигатор попадает в путь! поэтому лучше загружать контролируемые и разбитые на страницы плоские списки   -  person Rizwan Atta    schedule 27.06.2020


Ответы (1)


Для тех, кто борется с этим, я исправил это, добавив реквизит initialLayout на вкладке «Навигатор».

TopTabs.Navigator
      lazy="true"
      initialLayout={{width: Dimensions.get('window').width}}
person Sva    schedule 15.08.2020