Ich bin neu zu reagieren, und ich versuche, eine einfache Countdown-App zu machen. aber in Reaktion, ich weiß nicht, wie man eine globale Variable für alle Funktionen geben kann, um es zu beurteilen. Bitte schauen Sie sich meinen Code an, kann ich die Pause trotzdem machen und die Fortfahren-Buttons funktionieren? In einfachem JavaScript kann ich Timer als globale Variable einstellen und bekomme Zugriff darauf von einer anderen Funktion, dadurch kann ich ClearInterval auf Timer, wenn ich will, aber ich weiß nicht, wie man ClearInterval für den Timer zu pausieren, beginnen zu starten Funktion, da sie im Begin-Funktionsblock eingeschränkt ist.gibt es eine Möglichkeit, Variable innerhalb einer Funktion außerhalb in Reaktion übergeben
import React from 'react';
import ReactDOM from 'react-dom';
class Countdown extends React.Component{
render(){
return(
<div>
<button onClick={()=>begin()}>start</button>
<button>pause</button>
<button>continue</button>
</div>
);
}
};
const begin=(props)=>{
let count = 10;
const timer = setInterval(countdown,1000);
function countdown(){
count=count-1
if (count<0){
clearInterval(timer);
return;
}
console.log(count)
}
}
ReactDOM.render(<Countdown/>, document.getElementById('app'));
würde dies auf jeden Fall helfen, da es den gleichen Fall wie bei Ihnen ist, mit, https://reactjs.org/docs/state-and -lifecycle.html –
danke, ich habe wirklich Probleme mit clearInterval, weil ich nicht Zugriff auf Timer innerhalb der begin-Funktion bekommen kann. In Javascript Vanille kann ich Timer als globale Variable deklarieren und bekomme dann überall Zugriff darauf, aber in Reaktion konnte ich das nicht tun. – Nhat