erstellen Sie timer mit react native Verwendung von es6

Ich bin auf der Suche hinzufügen, einen timer, um meine app, die aufgebaut ist mit react native.

Ich habe mir den link zu der timer-mixin in der Dokumentation allerdings habe ich gebaut, der rest der app mit es6 so wird dies nicht kompatibel.

Ich habe versucht die unten.

In meiner Main-Klasse habe ich eine Funktion namens getTimerCountDown

getTimerCountDown() {
    setTimeout(() => {
      this.setTimeRemaining(this.getTimeRem()-1);
    }, 1000);
}

getTimeRem() {
    return this.state.timeRemaining;
}

Habe ich versucht, Sie anzurufen, diese in componentDidUpdate wie unten gezeigt. Dies funktioniert wie ich es will, wenn ich das nicht machen, alle anderen Interaktionen mit der Benutzeroberfläche.

Wenn ich (z.B. ich habe einen button, den ich klicken kann, auf der Ansicht.) als " componentDidUpdate aufgerufen wird, wird wieder die conunter bekommt wirklich schnell (wie es immer genannt x mal)

componentDidUpdate(){
    this.getTimerCountDown();
}

Ich bin nicht sicher, ob ich bin komplett auf dem Holzweg hier oder eine kleine änderung was ich gemacht habe, können mir, was ich will.
Was ist der beste Weg, um einen countdown-timer arbeiten, reagieren die einheimischen mit es6?

Timer-Klasse
auf der main Seite

<Timer timeRem={this.getTimeRem()} />

gibt

render(){
    return (
        <View style={styles.container}>
            <Text> This is the Timer : {this.props.setTimer}  - {this.props.timeRem} </Text>
        </View>
    )
}
  • versuchen Sie, ändern Sie Ihre getTimerCountdown und machen es zurück setState()
  • Was Teil der TimerMixin ist nicht kompatibel? Die docs für die es sogar ein es6 Beispiel
InformationsquelleAutor ak85 | 2015-08-12
Schreibe einen Kommentar