Sto cercando di aggiungere un timer alla mia app che è stata creata utilizzando react native.crea timer con react native utilizzando es6
Ho visto il collegamento allo timer mixin nella documentazione, tuttavia ho creato il resto dell'app utilizzando es6, quindi non sarà compatibile.
Ho provato il seguito.
Nella mia classe principale che ho una funzione chiamata getTimerCountDown
getTimerCountDown() {
setTimeout(() => {
this.setTimeRemaining(this.getTimeRem()-1);
}, 1000);
}
getTimeRem() {
return this.state.timeRemaining;
}
Ho provato a chiamare questo componentDidUpdate
come illustrato di seguito. Funziona come voglio io se non faccio altre interazioni con l'interfaccia utente.
Se faccio (ad esempio, ho un tasto che posso cliccare sulla vista.) Come `componentDidUpdate viene chiamato di nuovo il conunter diventa veramente veloce (come si è sempre chiamato x numero di volte)
componentDidUpdate(){
this.getTimerCountDown();
}
Non sono sicuro se sono completamente sulla strada sbagliata qui o un piccolo cambiamento di quello che ho fatto può ottenere quello che voglio. Qual è il modo migliore per far funzionare un timer per il conto alla rovescia in modalità nativa utilizzando es6?
Timer Classe a pagina principale
<Timer timeRem={this.getTimeRem()} />
rendimenti
render(){
return (
<View style={styles.container}>
<Text> This is the Timer : {this.props.setTimer} - {this.props.timeRem} </Text>
</View>
)
}
tenta di modificare la getTimerCountdown e farla tornare 'setState()' –
Quale parte del 'TimerMixin' non è compatibile? I documenti per usare anche un esempio es6 –