Je veux utiliser firebase auth avec react native pour Login
y Signup
mais j'ai obtenu une erreur jaune :
La définition d'une minuterie pour une longue période de temps, c'est-à-dire plusieurs minutes, pose un problème de performance et de correction sur Android, car elle maintient le module de minuterie éveillé, et les minuteries ne peuvent être appelées que lorsque l'application est au premier plan. Voir ( https://github.com/facebook/react-native/issues/12981 ) pour plus d'informations. (Saw setTimeout avec une durée de 111862ms)
Comment puis-je réparer ça ?
Je ne veux pas l'ignorer, je veux comprendre cette erreur et la résoudre de la meilleure façon possible.
Et voici mon code :
export default class Login extends Component {
constructor(props) {
super(props)
this.state = {
email: '',
password: '',
response: ''
}
this.signUp = this.signUp.bind(this)
this.login = this.login.bind(this)
}
async signUp() {
try {
await firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
this.setState({
response: 'Account Created!'
})
setTimeout(() => {
this.props.navigator.push({
id: 'App'
})
}, 1500)
} catch (error) {
this.setState({
response: error.toString()
})
}
}
async login() {
try {
await firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
this.setState({
response: 'user login in'
})
setTimeout(() => {
this.props.navigator.push({
id: 'App'
})
})
} catch (error) {
this.setState({
response: error.toString()
})
}
}
render() {
return (
<View style={styles.container}>
<View style={styles.containerInputes}>
<TextInput
placeholderTextColor="gray"
placeholder="Email"
style={styles.inputText}
// onChangeText={(email) => this.setState({ email })}
onChangeText={(email) => {console.log(email);}}
/>
<TextInput
placeholderTextColor="gray"
placeholder="Password"
style={styles.inputText}
password={true}
onChangeText={(password) => this.setState({ password })}
/>
</View>
<TouchableHighlight
onPress={this.login}
style={[styles.loginButton, styles.button]}
>
<Text
style={styles.textButton}
>Login</Text>
</TouchableHighlight>
<TouchableHighlight
onPress={this.signUp}
style={[styles.loginButton, styles.button]}
>
<Text
style={styles.textButton}
>Signup</Text>
</TouchableHighlight>
</View>
)
}
}
J'ai fait rapport à L'équipe Google Firebase : ( https://github.com/firebase/firebase-js-sdk/issues/97 )