Реактивный дескриптор входа и регистрации

Оператор == всегда предназначен для сравнения ссылок на объекты, тогда как метод сравнения строк .equals () переопределяется для сравнения содержимого:

String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // It prints false (reference comparison)
System.out.println(s1.equals(s2)); // It prints true (content comparison)
0
задан dimonD 25 February 2019 в 07:21
поделиться

2 ответа

Вы можете использовать async await в handleLogin (). Таким образом, login () будет вызываться только после разрешения обещания signUp ().

async handleLogin(){
      const { name, email, password} = this.props; 
      await this.props.signUp( name, email, password)
      await this.props.login(email,  password)
      this.props.navigtion.navigate('Home')
    }

Другим способом было бы поместить login () в .then функции signUp (). Это будет работать так же, как асинхронное ожидание. Имя входа () будет вызвано после разрешения функции signUp (). Затем вы можете поместить navigate () в .then login (), если вы хотите перемещаться только после того, как пользователь вошел в систему.

handleLogin(){
      const { name, email, password} = this.props; 
      this.props.signUp( name, email, password)
      .then(this.props.login(email,  password)
      .then(this.props.navigtion.navigate('Home'))
      )
    }

Надеюсь, это поможет.

0
ответ дан fsociety 25 February 2019 в 07:21
поделиться

Вот как я это сделал, и все это работает, но я не уверен, что это нормально с точки зрения лучшей практики и ясного синтаксиса.

Когда пользователь нажимает кнопку, он запускается _handleSignup () после проверки всех входов и выполняет асинхронную функцию шаг за шагом.

  async _handleSignup() {
    const { name, email, password, passwordConfirm, phone } = this.props;
    if (name.length === 0 && email.length === 0) {
      Alert.alert('Make sure all inputs is filled');
      return;
    } else if (password !== passwordConfirm) {
      Alert.alert('Password not match');
      return;
    }
      await this.props.signUp(name, email, password)
      await this.props.login(email, password).then(
        Alert.alert('Account created', [
          {
            text:'Login',
            onPress: ()=> this.props.navigation.navigate('Category')
          }
        ])
      )
  }

0
ответ дан dimonD 25 February 2019 в 07:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: