Comment arrêter, une vue particulière de re rendu quand il y a un changement d'état? J'utilise un composant de compte à rebours de la minuterie de Réact-Native-Timer-compte à rebours A >. Ce qui se passe est après l'expiration, je fixe un nouvel état. Donc, quand il y a un nouvel état, il redevient. Donc, la minuterie commence à partir du début. La bibliothèque elle-même suggère d'utiliser deux composants distincts. Mais, je ne pense pas que c'est un bien. Y a-t-il un moyen d'arrêter la minuterie de redémarrer une fois terminé (même au changement d'état)? P> My Code: P> <View>
<TimerCountdown
initialMilliseconds={100 * 60}
onTick={(milliseconds) => console.log("tick", milliseconds)}
onExpire={() => this.setState({ disabled: false })}
/>
</View>
3 Réponses :
Vous ne savez pas de quoi essayez-vous de réaliser. Je pense que vous pouvez quelques options: p>
Purecomponent code> pour Timercoundowndown Code> (ou implémente Dépomponpontupdate code>) li>
- Écrivez ce compte à rebours (je pense que vous trouverez une façon de le faire lorsque vous l'écrivez complètement par vous-même) li>
ul>
N'importe quel exemple de composant pur?
Classe Timercoundownown Extend React.PuRecomonent {...} Code> Ou vous pouvez envelopper leur composant à votre purecomonent
Le purecomonent fournit une comparaison peu profonde entre l'ancien état ou les appels et nouveaux états ou accessoires et s'ils sont identiques, il ne rend pas. Mais, il redevient une modification du composant parent
Et vous ne changez aucun état et aucun accessoire de Timercoundownown code>, non? Donc, il ne sera pas re-rendu
J'ai aussi eu ce problème avec ce paquet. P>
Je l'ai résolu en le supprimant et en écrivant mon propre composant. P>
Reportez-vous à cette réponse de la mienne, j'ai expliqué mon travail. P>
Compte de la minuterie de reformer et de fuir problème P>
Cela fonctionne bien pour moi, j'espère que cela vous aide et résoudre votre problème aussi. P>
Une bonne pratique dans la réagissance native est d'avoir un composant parent, appelé parfois son travail est à éd
- récupérer des données et prendre des décisions logiques.
- Rendez des composants de l'enfant en conséquence. P> Ces composants de l'enfant Certaines personnes appellent cela composant muet fort>, généralement un composant de présentation ou un composant champonal, il est le travail de son nom de rendu Je vous suggère d'encapsuler le JSX que vous ne souhaitez pas être affecté par le changement de votre état dans une composante fonctionnelle. De cette façon, il ne sera pas rendu si le changement d'état n'a pas été transmis comme un accessoire. P> dans le code ci-dessous, si le champ2 dans état code> a changé,
PrésentationComponant code> ne sera pas renoncé à p>