title: Expo Camera only opening once with React Navigation
body: <p>I set the Expo camera to open on the middle tab with react navigation. However, the camera only opens when I click on that tab the first time. If I switch off of it and go back it's just a black screen. Also the take a picture button is not there. (I am new with react native and kinda coding as a whole)</p>
  
  <pre><code>'use strict';
  import React, { Component } from 'react';
  import { createBottomTabNavigator } from 'react-navigation';
  import { Camera, Permissions } from 'expo';
  import {
      AppRegistry,
      Dimensions,
      StyleSheet,
      Text,
      TouchableOpacity,
      View,
      Button
  } from 'react-native';
  
  
  class HomeScreen extends React.Component {
    render() {
      return (
        &lt;View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}&gt;
          &lt;Text&gt;Home!&lt;/Text&gt;
        &lt;/View&gt;
      );
    }
  }
  
  class CameraView extends React.Component {
    state = {
      hasCameraPermission: null,
      type: Camera.Constants.Type.back,
    };
  
    async componentWillMount() {
      const { status } = await Permissions.askAsync(Permissions.CAMERA);
      this.setState({ hasCameraPermission: status === 'granted' });
    }
    render() {
       const { hasCameraPermission } = this.state;
      if (hasCameraPermission === null) {
        return &lt;View /&gt;;
      } else if (hasCameraPermission === false) {
        return &lt;Text&gt;No access to camera&lt;/Text&gt;;
      } else {
        return (
          &lt;View style={{ flex: 1 }}&gt;
            &lt;Camera style={{ flex: 1 }} type={this.state.type}&gt;
              &lt;View
                style={{
                  flex: 1,
                  backgroundColor: 'transparent',
                  flexDirection: 'row',
                }}&gt;
                &lt;TouchableOpacity
                  style={{
                    flex: 0.1,
                    alignSelf: 'flex-end',
                    alignItems: 'center',
                  }}
                  onPress={() =&gt; {
                    this.setState({
                      type: this.state.type === Camera.Constants.Type.back
                        ? Camera.Constants.Type.front
                        : Camera.Constants.Type.back,
                    });
                  }}&gt;
                  &lt;Text
                    style={{ fontSize: 18, marginBottom: 10, color: 'white' }}&gt;
                    {' '}Flip{' '}
                  &lt;/Text&gt;
                &lt;/TouchableOpacity&gt;
              &lt;/View&gt;
            &lt;/Camera&gt;
          &lt;/View&gt;
        );
      }
    }
  }
  
  class SettingsScreen extends React.Component {
    render() {
      return (
        &lt;View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}&gt;
          &lt;Text&gt;Settings!&lt;/Text&gt;
        &lt;/View&gt;
      );
    }
  }
  
  
  export default createBottomTabNavigator({
    Home: HomeScreen,
    Camera:CameraView,
    Settings: SettingsScreen
  });
  
  const styles = StyleSheet.create({
      container: {
          flex: 1,
          flexDirection: 'column',
          top: 250
      },
  
      capture: {
          flex: 0,
          backgroundColor: '#fff',
          borderRadius: 5,
          padding: 15,
          paddingHorizontal: 20,
          alignSelf: 'center',
          margin: 20
      }
  
  });
  </code></pre>