resium
resium copied to clipboard
`useCesium` always returns an undefined `viewer`
Specs:
- Resium: 1.18.2
- React: 17.0.2
- Node: 20.5.1
- Server side rendering: no
Expected: viewer
is defined once the globe has rendered
Actual: viewer
is always undefined
, even after the globe and other map layers have rendered
Related: https://github.com/reearth/resium/issues/596
import { Moon, useCesium, Viewer } from "resium";
import { defaultImageryProvider } from "./defaultImageryProvider";
import { terrainProvider } from "./terrainProvider"'
function MyMap() {
const { viewer } = useCesium();
useEffect(() => {
console.log("viewer", viewer); // Always `undefined`
}, [viewer]);
return (
<Viewer
animation={false}
baseLayerPicker={false}
fullscreenButton={false}
geocoder={false}
globe={globe}
homeButton={false}
imageryProvider={defaultImageryProvider}
infoBox={false}
navigationHelpButton={false}
requestRenderMode={true}
scene3DOnly={true}
sceneModePicker={false}
selectionIndicator={false}
targetFrameRate={60}
terrainProvider={terrainProvider}
timeline={false}
>
<Moon show={false} />
</ResiumViewer>
);
}
Is there some extra setup needed somewhere to make this properly work?