Первый аргумент "электронная почта" должен быть допустимой строкой. Ошибка - PullRequest
0 голосов
/ 11 июля 2020

Это компонент / экран для входа:

export const SignIn = ({ navigation }) => {

    const [email, setEmail] = useState('');
    const [password, setPassword] = useState('');
    
    return <ScreenContainer>
        <Text style={styles.title}>Welcome to my app!</Text>
        <TextInput 
        style={styles.input}
        placeholder="example@gmail.com"
        keyboardType="email-address"
        placeholderTextColor="rgba(255, 255, 255, 0.7)"
        autoCapitalize="none"
        value={email}
        onChange={(email) => setEmail(email)}
        />

        <TextInput 
        style={styles.input}
        placeholder="password"
        secureTextEntry
        placeholderTextColor="rgba(255, 255, 255, 0.7)"
        value={password} onChange={(event) => setPassword(event.target.value)}
        />

        <TouchableOpacity style={styles.buttonContainer}>
            <Text 
            style={styles.buttonText}
            onPress={() => signIn(email, password)}>Sign In</Text>
        </TouchableOpacity>
        <TouchableOpacity 
        style={styles.buttonContainer}
        onPress={()=> navigation.push("CreateAccount")}>
            <Text style={styles.buttonText}>Create Account</Text>
        </TouchableOpacity>
    </ScreenContainer>
  };

Это функция для формы регистрации и аутентификации электронной почты и пароля пользователя с помощью firebase:

const signIn = (email, password) => {
    firebase.auth().createUserWithEmailAndPassword(email, password)
}

Когда я попробуйте, я получаю это сообщение консоли:

createUserWithEmailAndPassword failed: первый аргумент «email» должен быть действительной строкой.

Не уверен, что происходит, был бы признателен за помощь . Спасибо!

1 Ответ

0 голосов
/ 11 июля 2020

событие возврата onChange

onChange={(event) => setEmail(event.target.value) }

Другое решение, если вы используете собственный текстовый ввод для реакции

Используйте onChangeText

onChangeText = {(email) => setEmail (email) } 
...