title: Possible Unhandled Promise Rejection (id: 1): TypeError: Network re quest failed
body: <p>I am using react native verion >0.6
  I am running my app in my mobile with nodejs 
  and I have a stable internet connection 
   I am making a register page in which I want to upload a photo and  connect
  it to the firestore database</p>
  
  <p>My App.js Code :</p>
  
  <pre><code>import React from 'react';
  import {View,Text,StyleSheet,TextInput,TouchableOpacity,Image,ImageBackground,StatusBar,SafeAreaView} from "react-native";
  import * as firebase from 'firebase';
  import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
  import ImagePicker from 'react-native-image-crop-picker'
  import Icons from "react-native-vector-icons/MaterialIcons"
  import FireScreen from './FireScreen';
  
  var firebaseConfig = {};
   require("firebase/firestore")
   export default class RegisterScreen extends React.Component {
  
  static navigationOptions = {
      headerShown:false,
      headerColor:"#161F3D"
  };
  
  state={
      name:"",
      email:"",
      password:"",
      errorMessage: null,
      image:null,
      uri:""
  };
  
  handleSignUp = () =&gt; {
      firebase.auth().createUserWithEmailAndPassword(this.state.email,this.state.password)
      .then(userCredentials =&gt; {
          return userCredentials.user.updateProfile({
              displayName:this.state.name
  
          });
      })
      .catch(error =&gt; this.setState({errorMessage : error.message}));
  };
  
  handlePost=() =&gt;{
      FireScreen.shared.addPost({localUri: this.state.image}).then(ref =&gt;{
          this.setState({image:null})
          this.props.navigation.goBack()
      })
      .catch(error =&gt; {alert(error);})
  }
  render() {
      return (
  
          &lt;SafeAreaView style={styles.container}&gt;
      &lt;StatusBar barStyle="light-content" backgroundColor="#161F3D" animated={true}&gt;&lt;/StatusBar&gt;
      &lt;ImageBackground source={require('../assets/test.jpg')} style={{height:"100%",width:"100%"}}&gt;
  
      &lt;KeyboardAwareScrollView&gt;
  
          &lt;TouchableOpacity style={styles.avatar} onPress={() =&gt; {
  
              ImagePicker.openPicker({width: 500,height: 500,cropping: true,sortOrder: 'none',compressImageMaxWidth: 1000,compressImageMaxHeight: 1000, compressImageQuality: 1,compressVideoPreset: 'MediumQuality',includeExif: true,cropperCircleOverlay:true}).then(image =&gt; {
              this.setState({ image: {uri: image.path, width: image.width, height: image.height, mime: image.mime},uri:image.path});
              }).catch(error =&gt; this.setState({errorMessage:error.message}))
              }
              }&gt;
              &lt;Image style={styles.avatarPhoto} source={{isStatic:true,uri:this.state.uri}}/&gt;
              &lt;Icons name="add" size={40} color="#000" style={{alignSelf:"center",marginTop:-85}} /&gt;
              &lt;/TouchableOpacity&gt;
  
               &lt;Image source={require("../assets/logo.png")} style={{height:140,width:200,marginLeft:200,marginTop:-135}}&gt;&lt;/Image&gt;
  
          &lt;View style={styles.errorMessage}&gt;
              {
                this.state.errorMessage &amp;&amp; &lt;Text style={styles.error}&gt;{this.state.errorMessage}&lt;/Text&gt;}
          &lt;/View&gt;
  
          &lt;View style={styles.form}&gt;
  
  
  
          &lt;View style={{marginTop:32}}&gt;
  
               &lt;TextInput style={styles.input} 
                  placeholder="Name"
                  autoCapitalize="none" 
                  underlineColorAndroid="transparent"
                  onChangeText={name =&gt; this.setState({ name })}
                  value={this.state.name}&gt;
              &lt;/TextInput&gt;
          &lt;/View&gt;    
  
  
          &lt;View style={{marginTop:32}}&gt;
  
               &lt;TextInput style={styles.input} 
               placeholder="Email ID"
                  autoCapitalize="none" 
                  onChangeText={email =&gt; this.setState({ email })}
                  value={this.state.email}&gt;
              &lt;/TextInput&gt;
          &lt;/View&gt;
  
              &lt;View style={{marginTop:32}}&gt;
  
                  &lt;TextInput style={styles.input} 
                   placeholder="Password"
                   secureTextEntry
                   autoCapitalize="none"
                   maxLength={20}
  
                   onChangeText={password =&gt; this.setState({ password })}
                   value={this.state.password}
                   &gt;
  
                   &lt;/TextInput&gt;
              &lt;/View&gt;
  
  
  
  
          &lt;/View&gt;
  
          &lt;TouchableOpacity style={styles.button} onPress={this.handleSignUp}&gt;
              &lt;Text style={{color:"#FFF",fontWeight:"500"}}&gt;Sign Up&lt;/Text&gt;
          &lt;/TouchableOpacity&gt;
  
          &lt;TouchableOpacity style={{alignSelf:"center",marginTop:32}}
           onPress={() =&gt; 
          this.handlePost()}
           //this.props.navigation.navigate("Login")}
           &gt;
              &lt;Text 
              style={{color:"#414959",fontSize:13,marginTop:30,fontWeight:"800",height:23,borderRadius:20,backgroundColor:"#FFF"}}&gt;
                  Already Have An Account ? 
              &lt;Text 
  
              style={{fontWeight:"800",color:"#000",textDecorationStyle:"solid"}}&gt;  Sign In&lt;/Text&gt;&lt;/Text&gt;
  
          &lt;/TouchableOpacity&gt;
  
          &lt;/KeyboardAwareScrollView&gt;
          &lt;/ImageBackground&gt;
       &lt;/SafeAreaView&gt;
  
  
      );
  }
    }
  
   const styles=StyleSheet.create({
     container: {
        flex:1,
        backgroundColor:"#FFF"
      },
  greeting:{
      marginTop:70,
      fontSize:18,
      fontWeight:"500",
      textAlign:"center",
      textDecorationStyle:"solid",
      color:"#161F3D",
      borderStyle:"solid",
  
  
  },
  errorMessage:{
      height:72,
      alignItems:"center",
      justifyContent:"center",
      marginHorizontal:30
  },
  error:{
      color:"#E9446A",
      fontSize:13,
      fontWeight:"600",
      textAlign:"center"
  },
  form:{
  
      marginTop:-50,
      marginBottom:50,
      marginHorizontal:40,    
  },
  
  input:{
      alignItems:"center",
      marginTop:10,
      height:40,
      fontSize:15,
      borderColor:"#BAB7C3",
      borderWidth: StyleSheet.hairlineWidth,
      borderRadius:13,
      paddingHorizontal:16,
      color:"#514E5A",
      fontWeight:"600"
    },
  button:{
      marginHorizontal:100,
      backgroundColor:"#161F3D",
      borderRadius:4,
      height:52,
      alignItems:"center",
      justifyContent:"center",
      borderTopEndRadius:10,
      borderBottomEndRadius:10,
      borderTopStartRadius:10,
      borderBottomStartRadius:10,
  
  
  },
  
  avatar:{
      width:130,
      height:130,
      borderRadius:90,
      backgroundColor:"#E1E2E6",
      alignContent:"center",
      marginLeft:60,
      marginTop:100,
  } ,
  avatarPhoto:{
      width:130,
      height:130,
      borderRadius:90,
      backgroundColor:"#E1E2E6",
      alignContent:"center",
      marginLeft:0,
      marginTop:0,
  
  } });
  </code></pre>
  
  <p>My FireBase Code :</p>
  
  <p>I Have successfully connected my app with firebase …
  there is no connection  issues with my app and firebase
  and I have created a cloud firestore database from the firebase 
  database</p>
  
  <pre><code>import firebase from "firebase"
  var firebaseConfig = {
  
   };
  
  class FireScreen {
  constructor(){
      firebase.initializeApp(firebaseConfig);
  }
  
  addPost = async ({localUri })=&gt;{
      const remoteUri = await this.uploadPhotoAsync(localUri);
      return new Promise((res,rej)=&gt; {
          this.firestore.collection("profilePics").add({
              uid:this.uid,
              image:remoteUri
          })
          .then(ref =&gt;{
              res(ref);
          })
          .catch(error =&gt;{
              rej(error);
          })
      })
  }
  uploadPhotoAsync = async uri =&gt; {
      const path = 'photos/${this.uid}}.jpg'
      return new Promise(async (res,rej)=&gt;{
          const response=await fetch(uri)
          const file =await response.blob()
          let upload = firebase.storage().ref(path).put(file)
          upload.on("state_changed", snapshot =&gt; {},err=&gt;{
              rej(err)
          },
          async() =&gt;{
              const url = await upload.snapshot.ref.getDownloadURL()
              res(url);
          }
          );
      });
  };
  get firestore() {
      return firebase.firestore();
  }
  get uid(){
      return (firebase.auth().currentUser || {}).uid
  }
  
  }
  
  FireScreen.shared = new  FireScreen();
  export default FireScreen;
  </code></pre>
  
  <p>I Am Getting an Error Like This please Help Me with this </p>
  
  <pre><code> Possible Unhandled Promise Rejection (id: 2):
      TypeError: Network request failed
    onerror@http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:28006:31
    @http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:34134:31
    setReadyState@http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:33218:33
     __didCompleteResponse@http://localhost:8081/index.bundle?          platform=android&amp;dev=true&amp;minify=false:33045:29
    emit@http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:3416:42
   __callFunction@http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:2744:49
    http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:2466:31
    __guard@http://localhost:8081/index.bundle?platform=android&amp;dev=true&amp;minify=false:2698:15
   callFunctionReturnFlushedQueue@http://localhost:8081/index.bundle?           platform=android&amp;dev=true&amp;minify=false:2465:21
    callFunctionReturnFlushedQueue@[native code]
  </code></pre>