Хотя у меня нет пробелов: текстовые строки с инвариантным нарушением должны отображаться в компоненте <Text> - PullRequest
0 голосов
/ 11 ноября 2018

Этот код работал отлично, но когда я добавил библиотеку firebase и {this.state.errorMessage}, я начал получать сообщение об ошибке «Текстовые строки с инвариантным нарушением должны отображаться в текстовом компоненте».

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

export default class Login extends React.Component {
  static navigationOptions = {
   header: null,
  }

  state = { email: '', password: '', errorMessage: null }

  handleLogin = () => {
   const { email, pasword } = this.state
   firebase
    .auth()
    .signInWithEmailAndPassword(email, password)
    .then(() => this.props.navigation.navigate('Tabs'))
    .catch(error => this.setState({ errorMessage: error.message }))
  } 

  render() {
   return (
    <View style={styles.container}>
     {this.state.errorMessage && <Text style={{ color: 'red' }}{this.state.errorMessage}</Text>}
    <View style={styles.loginTextCont}>
     <Text style={{fontSize: 36, fontFamily: "Futura" }}>Willkommen zu</Text> <Text style={{fontSize: 36, fontFamily: "Futura", color:'#ff0000' }}>LifeStorm!</Text>
    <View style={{width: 10, height: 5 }} />
    </View>
    <TextInput style={styles.inputBox}
        autoCapitalize='none'
        autoCorrect={false}
        autoFocus={true}
        keyboardType='email-address'
        placeholder="Ihre E-Mail"
        placeholderTextColor = "#ffffff"
        selectionColor="#ffffff"
        onChangeText={email => this.setState({ email })}
        value={this.state.email} />
    <TextInput style={styles.inputBox}
        placeholder='Password'
        autoCapitalize='none'
        autoCorrect={false}
        placeholder="Ihre Passwort"
        placeholderTextColor = "#ffffff"
        selectionColor="#ffffff"
        secureTextEntry={true}
        onChangeText={password => this.setState({ password })}
        value={this.state.password} />
     <TouchableOpacity
     style={styles.button}
     onPress={this.handleLogin}
     ><Text style={styles.buttonText}>Sich einloggen</Text>
     </TouchableOpacity>
    <View style={styles.signupTextCont}>
       <Text style={styles.signupText}>
       Haben Sie kein Konto?
       </Text>
       <TouchableOpacity onPress={() => this.props.navigation.navigate('Register')}><Text style={styles.signupButton}>Sich anmelden</Text></TouchableOpacity>
    </View>
  </View>
);
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...