我最近开始学习 React,我想用 Google Maps API 构建一个 React 应用程序,所以我下载了 React-google-maps 包,但它的文档已经过时了。我有这个示例代码。控制台记录错误:
- process.env.ENV 未定义,假设为“prod”环境
- 通过主 React 包访问 PropTypes 已被弃用
- 通过主 React 包访问 createClass 已被弃用。
TL:DR 如何修复此代码
import React from "react";
import ReactDOM from "react-dom";
import {
withGoogleMap,
GoogleMap,
Marker,
InfoWindow,
} from "react-google-maps";
const MapInit = withGoogleMap(props => (
<GoogleMap
ref={props.onMapLoad}
defaultZoom={1}
defaultCenter={{ lat: -25.363882, lng: 131.044922 }}
>
</GoogleMap>
));
class MapContainer extends React.Component {
constructor(props) {
super(props);
this.state = {
markers: [
{}
],
};
this.handleMapLoad = this.handleMapLoad.bind(this);
}
handleMapLoad(map) {
this._mapComponent = map;
}
render() {
return (
<div style={{height: `100%`}}>
<MapInit
containerElement={
<div style={{ height: `100%` }} />
}
mapElement={
<div style={{ height: `100%` }} />
}
onMapLoad={this.handleMapLoad}
/>
</div>
);
}
}
export default MapContainer;
最佳答案
这些是由库生成的,该库可能未更新为使用 class
而不是 createClass
并且正在从 React 导入 PropTypes。
您可以通过浏览到您的 node_modules 并检查源代码来验证这一点。这有点烦人,但您无能为力,只能发送拉取请求自行修复。 :)
关于javascript - React-google-maps 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44899819/