如何将无状态地图组件转换为反应组件

时间:2018-03-21 10:46:39

标签: reactjs

我的MyMapComponent是无状态组件,它使用了compose和道具和道具。我怎么能用这个转换成反应组件?我的要求是直接将代码放入渲染返回函数。



const MyMapComponent = compose(
 withProps({
   googleMapURL:
     "https://maps.googleapis.com/maps/api/js?key=AIzaSyB-lALSE8L0zgfk0vdt73gNTsfalkAggwY&v=3.exp&libraries=geometry,drawing,places",
   loadingElement: <div style={{ height: "100%" }} />,
   containerElement: <div style={{width:"100%", height: ht,}} />,
   mapElement: <div style={{ height: "100%"}} />
 }),
 withScriptjs,
 withGoogleMap
)(props => (
  <GoogleMap defaultZoom={10} defaultCenter={{ lat: 32.6804468, lng: -97.0827933 }}>
  <Marker onClick={props.onMarkerClick} position={{ lat: 32.6804468, lng: -97.0827933 }} />
   <Marker onClick={props.onMarkerClick1} position={{ lat: 32.7020541, lng: -97.2755012 }} />
   <Marker onClick={props.onMarkerClick}  position={{ lat: 32.5872886, lng: -97.0258724 }} />
   <Marker onClick={props.onMarkerClick1} position={{ lat: 35.2962839, lng: -98.2031782 }} />
   
 </GoogleMap>
));
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

我不确定你的要求。如果你只需要渲染函数,那么无状态函数可能是正确的方法。

然而,这很可能是您所需要的:

https://codesandbox.io/s/wo837p9z5