atma tutmak mousemove olayı kısma ve ben yöntemi oluşturmak için aşağıdaki ipuçlarını uygulayın, ancak çalışmıyor: İşte Perform debounce in React.jsReact.js Ben mousemove olay azaltmasını gerek event.persist() hatası
benim kodu (http://jsbin.com/binesofepo/edit?js,console,output):
versiyonunu tepki Gözat: "15.0.2"Uyarı: Eğer
tool__body
üzerine MouseMove tutarsanızclass Tool extends Component { constructor(props) { super(props); this._onMouseMove = _.throttle(this._onMouseMove.bind(this), 1000) } render() { return ( <div ref="tool" className="tool"> <div ref="toolBody" className="tool__body" onMouseMove={this._onMouseMove}></div> </div> ) } _onMouseMove(e) { e.persist() console.log(e.screenX) } }
, aşağıda uyarı çok alırsınız Bu s sentetik neden performans nedenleriyle yeniden kullanılır. Bunu görüyorsanız, yayınlanmış/geçersiz bir sentetik etkinliğe
screenX
mülküne erişiyorsunuz. Bu boş olarak ayarlandı. Orijinal sentetik etkinliği saklamak zorundaysanız, event.persist() öğesini kullanın. Daha fazla bilgi için bkz. Fb.me/react-event-pooling.
iyi çalışmıyor e.persist()
görünüyor. Herhangi bir fikir? : D
Bana oldukça yararlı bir hata mesajı görünüyor. Önerilen bağlantıyı takip ettiniz mi https://facebook.github.io/react/docs/events.html#event-pooling? –
Evet, bu yüzden '_onMouseMove '' e.persist() 'i ekledim, ancak – twxia