在下面的代码中,如果 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>
);
}
答案 0 :(得分:0)
很可能会。即使您将组件包装在 React.memo()
中,如果它们在图形中的某处使用该上下文,它们也会在使用所述上下文的最高图形节点处重新渲染。