超级表达式必须为null或函数,而不是undefined - react-google-maps

时间:2018-04-03 12:17:35

标签: reactjs react-google-maps

每当我导入这个@ react-google-maps库时,我都会收到此错误。任何人都可以帮我解决这个问题吗?

这是我的组件 -

const {withScriptjs, withGoogleMap, GoogleMap, Marker} = require('react-google-maps');

const VenueMap = React.createClass({
    getInitialState() {
        const {eventData} = this.props;
        const stateObj = {
            position: {
                lat: eventData.venue.latitude,
                lng: eventData.venue.longitude,
            },
            defaultZoom: 17
        };
        return stateObj;
    },
    render: function () {
        const {state} = this;
        const MapComponent = compose(
            withProps({
                googleMapURL: GOOGLE_MAP.mapURL,
                loadingElement: <div style={{height: `100%`}}/>,
                containerElement: <div style={{height: `300px`, marginBottom: `30px`}}/>,
                mapElement: <div style={{height: `100%`}}/>
            }),
            withScriptjs, withGoogleMap
        )(props => (
            <GoogleMap
                defaultZoom={state.defaultZoom}
                defaultCenter={state.position}>
                {props.isMarkerShown && <Marker position={state.position}/>}
            </GoogleMap>
        ));
        return (
            <div id="venuelocation" className="contents-wrapper">
                <div className="orgname" style={{paddingBottom: '20px'}}>Venue Location</div>
                <MapComponent isMarkerShown={true}/>
            </div>
        );
    }
});

我正在使用react 16.3.2 reactjs版本。

1 个答案:

答案 0 :(得分:0)

两件事。

1-您将React.CreateClass与React ^ 16一起使用是很奇怪的,因为它已根据本文删除: React Class being Removed

2 - 我使用扩展ES6功能在沙盒上尝试了你的代码,它适用于我,实际上我不得不硬编码一些东西,但一切都在加载,虽然我没有钥匙打开地图api,看看这里。 https://codesandbox.io/s/rjrzvlw36o

我的猜测:我认为你在某个地方缺少一个super(),下次添加错误的堆栈会很有帮助,所以我们可以看看特别是某些东西是否会引发错误。