Ao iniciar o app o menu hamburguer não aparecer, porem realizar o login e sair o menu fica aparecendo, como realizar uma validação para não aparecer?
Ao iniciar o app o menu hamburguer não aparecer, porem realizar o login e sair o menu fica aparecendo, como realizar uma validação para não aparecer?
Olá, Mateus.
Tudo bem?
Pelo que entendi, você quer que o ícone do menu hambúrguer não apareça quando o app é iniciado, mas só depois que o usuário realiza o login, certo?
Você pode fazer isso usando uma variável de estado para controlar a visibilidade do menu. No React Native, você pode usar o useState
para criar uma variável de estado.
Vamos supor que você tenha uma variável de estado chamada isLoggedIn
que controla se o usuário está logado ou não. Você pode usar essa variável para controlar a visibilidade do menu.
Por exemplo:
const [isLoggedIn, setIsLoggedIn] = useState(false);
// No seu código de login
login() {
// Faça o login
// ...
// Depois de logado, você pode setar a variável isLoggedIn para true
setIsLoggedIn(true);
}
// No seu código de logout
logout() {
// Faça o logout
// ...
// Depois de deslogado, você pode setar a variável isLoggedIn para false
setIsLoggedIn(false);
}
// No seu código de renderização
render() {
return (
<Drawer.Navigator
screenOptions={{
drawerStyle: {
backgroundColor: '#36D6AD'
},
// Aqui você usa a variável isLoggedIn para controlar a visibilidade do menu
drawerIcon: isLoggedIn ? () => (<Image source={require('../assets/pets.png')} style={{width: 24, height: 24}} ></Image>) : null
}}
>
// ...
</Drawer.Navigator>
);
}
Nesse exemplo, quando o usuário realiza o login, a variável isLoggedIn
é setada para true
e o ícone do menu hambúrguer é exibido. Quando o usuário realiza o logout, a variável isLoggedIn
é setada para false
e o ícone do menu hambúrguer é escondido.
É só uma ideia de como pode ser feito.
Espero ter ajudado. Qualquer dúvida pode mandar aqui de novo. Bons estudos.