我使用scriptjs
异步加载google-map,但我发现js文件非常慢并且总是花费超过30秒。如果我直接下载文件,它只花了一秒钟..页面崩溃直到js文件下载完成...有人可以帮助我吗?
js文件名为https://maps.googleapis.com/maps/api/js/AuthenticationService.Authenticate
这是我的代码:
/** gmap component **/
class GMap extends Component<GmapProps, {}> {
map: any
marker: any
render() {
return <div id="map" style={this.props.styles || defaultSize} />
}
componentDidMount() {
const { lat, lng, zoom } = this.props
if (window.google) {
this.map = new window.google.maps.Map(document.getElementById('map'), {
center: { lat, lng },
zoom: zoom
})
this.marker = new window.google.maps.Marker({
position: { lat, lng },
map: this.map
})
}
}
}
export default withScript(GOOGLE_MAP_DOMAIN)(GMap)
/** scriptjs hoc **/
export default function loadScript(path: string) {
return function(Wrapper: ComponentClass) {
return class NewComponent extends Component<any, any> {
state = {
loading: true
}
render() {
return this.state.loading ? <Spin /> : <Wrapper {...this.props} />
}
componentWillMount() {
scriptjs(path, () => {
this.setState({
loading: false
})
})
}
}
} }
这是网络屏幕截图: