重新渲染 App() 会自动重新渲染导航中的屏幕吗?

时间:2021-02-07 13:08:38

标签: react-native

在下面的代码中,如果 setStateVar 被调用但它不影响 stacknavigator 显示哪些屏幕,显示的屏幕是否会重新渲染?如果是,有没有办法改变这种情况?

function App() {
  const {stateVar, setStateVar} = useContext(VarContext);
  return (
    <NavigationContainer>
      <Stack.Navigator>
        {stateVar == null ? (
          <>
            <Stack.Screen options={{headerShown:false}} name="LoadingScreen" component={LoadingScreen} />
          </>
        )  :  (
          <>
            <Stack.Screen options={{headerShown: false}} name="SignUpScreen" component={SignUpScreen} />
          </>
        
        ) 
      </Stack.Navigator>
    </NavigationContainer>
  );
}

1 个答案:

答案 0 :(得分:0)

很可能会。即使您将组件包装在 React.memo() 中,如果它们在图形中的某处使用该上下文,它们也会在使用所述上下文的最高图形节点处重新渲染。