将所有要传递的数据或者方法放到一个params对象中,如下:
import moment from 'moment';
let [hxMap, setHxMap]: any = useState();
let [selectedLand, setSelectedLand] = useState<any>();
const [selectedDevice, setSelectedDevice] = useState<any>();
const [coor, setCoor] = useState<number[]>();
const [timestamp,setTimeStamp]=useState<any>();
setTimeStamp(moment().valueOf());
//要传递的方法
const setSelectedFeature = (fea: any,devNoClear:boolean) => {
//方法体
}
<Spin style={{ height: '100vh' }} tip="正在加载地图..." spinning={loading}>
<div id="farm-map" className="farm-map">
<TopBar params={{
map:hxMap,
//方法
onSelectedLand:setSelectedFeature
}}></TopBar>
<LayerTool map={hxMap}></LayerTool>
<Copyright></Copyright>
<RestoreTool map={hxMap}></RestoreTool>
<Fieldoverlay params={{
map: hxMap,
feature: selectedLand,
timestamp:timestamp
}} />
<AgriculturalInfo params={{
map: hxMap,
feature: selectedDevice,
coor: coor,
timestamp:timestamp
}}></AgriculturalInfo>
</div>
</Spin>