impedir imagem de ultrapassar div

Olá,

Eu estou “brincando”com dimensões e escalas no bootstrap. Comecei fazendo um container ocupar toda a tela, e distribui 3 divs para ocupar o container independente de seu conteudo. a div top ocupa 10%; a div do meio ocupa 80%, e a div bottom ocupa 10%; completando 100%.

Decidi colocar uma na div do meio, e me veio o seguinte problema: dependendo do tamanho da imagem, ela ultrapassa os limites da div.

Tentei usar max-width inherit e outras propriedades para fazer com que, caso a imagem seja maior que a div, ela não irá ultrapassar esse limite, mas não obtive sucesso. Gostaria de uma ajuda quanto a isso.

HEAD:

<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">  <style type="text/css">  html {   height: 100%; }  body, .container-fluid {   height: 100%; }  </style>   <title>Dimensões e Escalas</title> 

BODY:

<body>  <div class="container-fluid">  <div class="row" style="border: 5px solid red; height: 10%;">    <div class="col-12 h-50">Teste 10%</div>  </div>   <div class="row" style="border: 5px solid black; height: 80%">   <div class="col-12">     <img id="fotoExpandida" class="img-fluid rounded" src="https://ap.imagensbrasil.org/images/imagens-lobos.jpg" style="max-width: inherit; max-height: inherit;">   </div>   </div>   <div class="row" style="border: 5px solid blue; height: 10%;">    <div class="col-12">Teste 10%</div>  </div>  </div>  <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> 

Como impedir que uma aplicação React Native retorne ao clicar no BackButton usando React Navigation

Olá, estou criando uma aplicação em React Native, e para as navegações eu tenho trabalhado com o plugin React Navigation. A estrutura do meu projeto está assim:

import React from 'react'; import { View, Text, Button } from 'react-native'; import { FluidNavigator } from 'react-navigation-fluid-transitions';  // tela de splash export default SplashScreen extends React.Component {   componentDidMount = () =>      setTimeout(() => this.props.navigation.navigate('Login'), 500);    render = () =>      <View>     <Text>SplashScreen</Text>   </View>; }  // tela de login de usuario export default LoginScreen extends React.Component {   goToDashboard = () => this.props.navigation.navigate('Dashboard');   goToRegister = () => this.props.navigation.navigate('Register');   render = () =>     <View>       <Text>LoginScreen</Text>       <Button onPress={goToDashboard} title="Sign in" />       <Button onPress={goToRegister} title="Sign up" />     </View>   } }  // tela de registro de usuario export default RegisterScreen extends React.Component {   render = () => <View><Text>RegisterScreen</Text></View>; }  // tela de dashboard (após o usuário estar logado) export default DashboardScreen extends React.Component {   render = () => <View><Text>DashboardScreen</Text></View>; }  // navigator contendo as telas const Navigator = FluidNavigator({   Splash: { screen: SplashScreen },   Login: { screen: LoginScreen },   Register: { screen: RegisterScreen },   Dashboard: { screen: DashboardScreen } })  export default App extends React.Component {   render(){     return <View><Navigator/></View>   }       } 

Meu problema está nas navegações. Quando o usuário clica no botão voltar, ele vai para a tela anterior e isso me complica… eu preciso que a navegação seja na seguinte relação:

  • SplashScreen => LoginScreen
  • LoginScreen <=> RegisterScreen
  • LoginScreen => DashboardScreen
  • RegisterScreen => DashboardScreen

Eu até tentei resetar o index usando o NavigationActions mas isso atrapalha as animações que estão na tela (por causa do react-navigation-fluid-transitions).

Também tentei bloquear o evento do BackButton assim como em alguns tutoriais, só que se eu bloqueio ele na tela de Screen, ele passa a dar pau em todas as telas, impedindo que eu consiga voltar para a tela de Login na tela de Register e consequentemente para as outras telas que virão na aplicação.

O que eu preciso fazer para que eu impeça (dentro da tela que eu quero impedir) para que ela não possa voltar até ‘X’ tela?