recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Quelques problèmes avec le bouillonnement de réaction

   fn1(){
         alert('父级');
     }
     fn2(ev){
         ev.stopPropagation();
         ev.nativeEvent.stopImmediatePropagation();

         alert("子集");
     }
     componentDidMount(){
         document.onclick=function(){
             alert('document');
         };

         this.refs['fa'].onclick=function(ev){
             //console.log(this);
             console.log(ev.target);
             alert("爷爷");
         }
     }

<p ref="fa" className="fa">
     <p onClick={this.fn1.bind(this)}>
     <p onClick={this.fn2.bind(this)}>aaaaaaaaaaa</p>
</p>

Utilisez simplement e.stopPropagation() pour empêcher l'événement parent de bouillonner. L'événement fn1 ne se déclenchera pas, mais l'événement document se déclenchera ?
e.nativeEvent.stopPropagation() empêche le bouillonnement du document mais le fn1 du parent se déclenche à chaque fois que fa est cliqué, il se déclenchera et se déclenchera en premier. Si e.target ne peut pas être obtenu, seule la capture de fn2 aura des résultats p aaa, alors le problème Lorsqu'il survient, comment pouvons-nous uniquement déclencher l'événement extérieur sans le capturer ? Quel est le mécanisme approximatif des événements de réaction ? Merci pour la solution·

淡淡烟草味淡淡烟草味2735 Il y a quelques jours414

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-19 10:20:56

    Non, ces deux méthodes sont en fait des méthodes natives.

    stopImmediatePropagation et link stopPropagation Quant à nativeEvent, il devrait être unique à ReactNative, et React ne devrait pas avoir cette chose.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:20:56

    https://zhuanlan.zhihu.com/p/...Vous comprendrez après avoir lu ce lien

    répondre
    0
  • Annulerrépondre