如何在反应导航中防止嵌套导航器重新渲染?

时间:2020-06-11 12:09:40

标签: reactjs react-native optimization react-navigation

让我们说我们有这样的嵌套导航器:

<NavigationContainer>
  <RootStack.Navigator>
    <RootStack.Screen name="Sceen" component={Screen} />
    <RootStack.Screen name="MainApp" component={MainApp} />
  </RootStack.Navigator>
</NavigationContainer>

// Main app
<MainTabs.Navigator>
  <MainTabs.Screen name="NestedStack" component={NestedStack} />
  <MainTabs.Screen name="AnotherScreen" component={AnotherScreen} />
</MainTabs.Navigator>

// NestedStack
<NestedStack.Navigator>
  <NestedStack.Screen name="Screen1" component={Screen1} />
  <NestedStack.Screen name="Screen2" component={Screen2} />
</NestedStack.Navigator>

现在,如果我们从Screen1导航到Screen2,似乎整个树都从NavigationContainer重新渲染。这会大大减慢屏幕过渡的速度。是否可以防止整个树重新渲染并仅重新渲染NestedStack

0 个答案:

没有答案