onWheel()

in packages/fbjs/src/dom/ReactWheelHandler.js [62:87]


  onWheel(/*object*/ event) {
    const normalizedEvent = normalizeWheel(event);
    const deltaX = this._deltaX + normalizedEvent.pixelX;
    const deltaY = this._deltaY + normalizedEvent.pixelY;
    const handleScrollX = this._handleScrollX(deltaX, deltaY);
    const handleScrollY = this._handleScrollY(deltaY, deltaX);
    if (!handleScrollX && !handleScrollY) {
      return;
    }

    this._deltaX += handleScrollX ? normalizedEvent.pixelX : 0;
    this._deltaY += handleScrollY ? normalizedEvent.pixelY : 0;
    event.preventDefault();

    let changed;
    if (this._deltaX !== 0 || this._deltaY !== 0) {
      if (this._stopPropagation()) {
        event.stopPropagation();
      }
      changed = true;
    }

    if (changed === true && this._animationFrameID === null) {
      this._animationFrameID = requestAnimationFramePolyfill(this._didWheel);
    }
  }