我在应用程序中使用React-geosuggest library,它要求我在应用程序的html页面中包含google maps脚本标签。但是,我不希望这样,因为我希望仅在安装组件时才包含脚本。
我尝试在componentDidMount
函数中创建脚本,但是没有运气。
componentDidMount() {
const script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?key=AIzaSyAwyph7a_yiJUZZeR4XZy2gwFSUEDCDYY8&libraries=places';
script.async = true;
document.body.appendChild(script);
}
当我尝试在组件中使用它时,应用程序抱怨google is not defined
。
<Geosuggest
onFocus={this.onFocus}
onBlur={this.onBlur}
onChange={this.onChange}
onSuggestSelect={this.onSuggestSelect}
onSuggestNoResults={this.onSuggestNoResults}
location={new google.maps.LatLng(53.558572, 9.9278215)}
radius={20}
/>
有一种方法可以在组件安装时包含google maps脚本,而不是将其包含在index.html
中。
谢谢。