arrêter un timeout dans reactjs?
Est-il une manière que je peux tuer/(débarrasser) un délai d'attente dans reactjs?
setTimeout(function() {
//do something
}.bind(this), 3000);
Sur une sorte de clic ou de l'action, je veux être en mesure d'arrêter complètement et à la fin du délai d'attente. Est-il un moyen de faire cela? merci.
source d'informationauteur BlueElixir | 2015-04-08
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser mixin:
...et dans votre composant:
Plus d'infos: https://facebook.github.io/react/docs/reusable-components.html
En supposant que ce qui se passe à l'intérieur d'un composant, de stocker le délai id de sorte qu'il peut être annulée plus tard. Sinon, vous aurez besoin de stocker l'id d'autre part il peut être consulté à partir plus tard, comme un magasin externe de l'objet.
Vous voudrez aussi pour s'assurer que le délai d'attente est annulé en
componentWillUnmount()
trop:Si vous disposez d'une INTERFACE utilisateur qui dépend de l'existence ou non d'un délai d'attente en attente, vous aurez envie de stocker l'id du composant approprié de l'état.
Depuis Réagir mixin sont désormais obsolète, voici un exemple d'un ordre plus élevé composant qui enveloppe un autre composant de donner les mêmes fonctionnalités que décrit dans la accepté de répondre. Il nettoie parfaitement les délais d'attente sur le démonter, et donne à l'enfant composant d'une API pour gérer ce par le biais d'accessoires.
Il utilise ES6 classes et la composition de composant qui est la méthode recommandée pour remplacer mixin en 2017.
En Timeout.jsx
Dans Moncomposant.jsx
Je me suis arrêté un setTimeout dans mon réagir app avec Javascript uniquement:
(mon cas d'utilisation était de s'auto-enregistrer seulement après une nette 3 secondes sans touches)