在使用 `@react-google-maps/api` 时,`
)已尝试挂载并绑定到未就绪的地图对象上,导致静默失败——无报错、无渲染,且在页面刷新后重现。
直接将
✅ 正确做法是:利用 onLoad 回调或 useEffect + ref 显式监听地图就绪状态,并条件性渲染叠加层:
import React, { useRef, useState, useEffect } from 'react';
import { GoogleMap, LoadScript, Circle } from '@react-google-maps/api';
const EndpointMap = () => {
const mapRef = useRef(null);
const [isMapLoaded, setIsMapLoaded] = useState(false);
const apiKey = 'your-api-key';
return (
{
mapRef.current = map;
setIsMapLoaded(true); // ✅ 地图加载完成,触发状态更新
}}
>
{/* ✅ 仅在地图就绪后渲染 Circle */}
{isMapLoaded && (
)}
);
};
export default EndpointMap; ⚠️ 注意事项:
总结: