Приложение не обновляется для iPad Air 2, по-прежнему отображается сообщение об ошибке - PullRequest
0 голосов
/ 18 сентября 2018

Я новичок в React Native.Я следую этому руководству https://www.youtube.com/watch?v=bZj6uzNRs5E&t=337s, чтобы связать мое приложение с firebase.

Но мое приложение показывает ошибку "Неожиданный токен (31:13)"

Я обновил свой код и сохранилэто все еще, я получаю то же самое сообщение об ошибке.Я много раз менял свой код, но сообщение об ошибке каждый раз было одинаковым.

Ниже приведен полный код кода app.js

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import * as firebase from 'firebase'; 
import {Container, Content, Header, Form, Input, Item, Button, Label } from 'native-base';

export default class App extends React.Component{

constructor(props){
  super(props)
  this.state = ({
//    firstName='',
  //  lastName='',
    email='',
    password=''
    //confirmPassword='',

  })
}

signUpUser = (/*firstName,lastName,*/email,password/*,confirmPassword*/) => {

  try {

    if(this.state.password.length<6){
      alert("please enter atleast 6 character")
    }

     firebase.auth().createUserWithEmailandPassword(email,password)

  } catch (error) {
    console.log(error.toString[])
  }
}

  render() {
    return (
             <Container styles={styles.container}>
              <Form>
              <Item floatingLabel>
                  <Label>First Name</Label>
                    <Input
                    autoCorrect={false}
                    autoCapitalize='none'
                    onChangeText={(firstName) => this.setState{(firstName)}}
                    />
              </Item>
              <Item floatingLabel>
                  <Label>Last Name</Label>
                    <Input
                    autoCorrect={false}
                    autoCapitalize='none'
                    onChangeText={(lastName) => this.setState{(lastName)}}
                    />
              </Item>
                <Item floatingLabel>
                    <Label>Email</Label>
                      <Input
                      autoCorrect={false}
                      autoCapitalize='none'
                      onChangeText={(email) => this.setState{(email)}}
                      />
                </Item>
                <Item floatingLabel>
                    <Label>Password</Label>
                      <Input
                      secureTextEntry={true}
                      autoCorrect={false}
                      autoCapitalize='none'
                      onChangeText={(password) => this.setState{(password)}}
                      />
                </Item>
                <Item floatingLabel>
                    <Label>Confirm Password</Label>
                      <Input
                      secureTextEntry={true}
                      autoCorrect={false}
                      autoCapitalize='none'
                      onChangeText={(confirmPassword) => this.setState{(confirmPassword)}}
                      />
                </Item>
                <Button style={{marginTop: 10}}
                full
                rounded
                success
                onPress = {() => this.signUpUser(this.state.email,/* this.state.firstName, this.state.lastName,*/this.state.password/*,this.state.confirmPassword*/)}
                ><Text>Sign Up</Text>
                </Button>

              </Form>
             </Container>
    );
  }
}

, пожалуйста, помогите мне, если кто-нибудь узнает об этом.

1 Ответ

0 голосов
/ 18 сентября 2018

Я был пойман на этом несколько раз. Когда вы допустили ошибку в своем коде, когда пакет metro повторно связывает JavaScript, иногда он выдает ошибку и исключает ее и не обновляет ваш код.

Если вы посмотрите в окно Metro Bundler (то, которое открывается и связывает ваш JS при первоначальной сборке), там может быть ошибка. Я предполагаю, что ваша ошибка может быть:

error.toString[]

должно быть:

error.toString()

Как следует из комментария внизу, лучше регистрировать ошибку, как

console.log(error) или console.log(error.message)

...