JedWatson / react-hammerjs

ReactJS / HammerJS integration. Support touch events in your React app.
MIT License
937 stars 128 forks source link

Error trying to use react-hammerjs with React 15.4.2 #68

Closed homerlex closed 7 years ago

homerlex commented 7 years ago

I'm trying to use react-hammerjs (0.5.0) with my react (15.4.2) app and I am getting the following error:

 Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `HammerMe`.
    at invariant (invariant.js:44)
    at ReactCompositeComponentWrapper.instantiateReactComponent [as _instantiateReactComponent] (instantiateReactComponent.js:77)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:367)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)
    at Object.mountComponent (ReactReconciler.js:46)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:371)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)
    at Object.mountComponent (ReactReconciler.js:46)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:371)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)

Here is what my react component looks like:

import React from 'react';
import { Hammer } from 'react-hammerjs';

class HammerMe extends React.Component {

    handleTap(e) {
        console.log('Tap', e);
    }

    render() {
        return (
            <Hammer onTap={this.handleTap}> <div>Tap Me</div></Hammer>
        );
    }
}

export default HammerMe;
homerlex commented 7 years ago

Silly me, should have been:

import { Hammer } from 'react-hammerjs';

Getting a different error now but I'll open another issue if I can't get passed that.