从15.x升级后,Google在React 16中出现错误

时间:2018-05-29 06:08:31

标签: reactjs google-places-api googleplacesautocomplete

我刚从15.x将我的React应用程序升级到React 16.0,现在出现以下错误。代码本身并没有改变,除了它现在是React 16.0应用程序。

  

'谷歌'未定义no-undef

我在我创建的util方法中使用自动完成功能,如下所示:

const map = new google.maps.Map(document.createElement('div'));
const googlePlacesAutocomplete = new google.maps.places.AutocompleteService();
const googlePlacesService = new google.maps.places.PlacesService(map);

export const googlePlacesAutoComplete = (keyword, callback) => {

    googlePlacesAutocomplete.getQueryPredictions({input: keyword}, (predictions, status) => {

        if(status !== google.maps.places.PlacesServiceStatus.OK) return callback(null);
        return callback(predictions);
    });
}

我只是从静态HTML页面指向我的React应用程序入口点的Google Places库。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&key=my-api-key"></script>

知道什么是错的吗?有什么建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你试过'window.google'吗? 'google'是全局的,建议不要按原样使用全局变量。

此外,如果可以,请尝试添加“google”作为模块,以确保在使用前将其加载为veen。 并且可能避免使用全局变量,或者任何东西都可以覆盖它的值。