GoogleMap JSX组件中未定义的variables
在我的应用程序中,从我的Google Map JSX组件(由其他人编写)开始,我有以下代码片段:
import React from 'react'; import { Button } from 'react-bootstrap'; import {GoogleMapLoader, GoogleMap, Marker, InfoWindow, DirectionsRenderer} from 'react-google-maps'; import { default as canUseDOM, } from "can-use-dom"; const DirectionsService = new google.maps.DirectionsService();
当我利用客户端渲染并在客户端上执行此代码时,它运行没有预期的行为错误。 但是,当我切换到使用ReactDOM.renderToString()服务器端呈现,我遇到以下错误:
var DirectionsService = new google.maps.DirectionsService(); ^ ReferenceError: google is not defined
仔细查看代码。 variables“谷歌”是真的没有在我的代码之前任何地方定义。
我的问题是:
- variables“google”在哪里定义?
- 为什么客户端渲染执行OK,而服务器端抛出错误?
非常感谢你的解释。
google
variables来自https://maps.googleapis.com/maps/api/js
在客户端asynchronous加载 。
在服务器上,这个脚本没有被加载,并且事件中断。 看来你使用的组件不是完全同构的,所以它只会在客户端工作。
我过去一直使用谷歌地图反应 ,强烈推荐和完全同构。