1

每当我导入此 @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 版本。

4

1 回答 1

0

两件事情。

1- 将 React.CreateClass 与 React ^16 一起使用对您来说很奇怪,因为它已根据这篇文章被删除: React Class being Removed

2 - 我使用扩展 ES6 功能在沙箱上尝试了您的代码,它对我有用,实际上我不得不硬编码一些东西,但一切都在加载,虽然我没有打开地图 api 的键,请在此处查看。 https://codesandbox.io/s/rjrzvlw36o

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

于 2018-04-03T14:30:31.023 回答