【发布时间】:2022-12-06 03:40:17
【问题描述】:
我在 bare react native 中像这样定义我的令牌检查。 我收到错误:太多的重新渲染。 React 限制渲染次数以防止无限循环。
const Stack = createNativeStackNavigator();
function App() {
const [tokenExist, SetTokenExist] = useState(false);
const if_token = getBurgerToken();
if (if_token){
SetTokenExist(true);
}
return (
<NavigationContainer>
<Stack.Navigator>
{tokenExist ? (
<>
<Stack.Screen name="Home">
{(props) => <HomeScreen {...props} Istoken={tokenExist} />}
</Stack.Screen>
</>
) : (
<>
<Stack.Screen name="Login">
{(props) => <LoginScreen {...props} extraData={SetTokenExist} />}
</Stack.Screen>
</>
)
}
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
如何解决这里的问题?
【问题讨论】:
-
将
getBurgerToken函数调用、有条件地检查令牌和状态设置移动到useEffect挂钩中。