Fix game state on refresh.

There was accidentally a second layer of callback here. I'm not sure why
it worked. I think the lambda being returned was being used as the
cleanup function?
This commit is contained in:
Dan Albert 2022-03-01 20:44:32 -08:00
parent 625f36c780
commit 6d29bfdf65
2 changed files with 22 additions and 24 deletions

View File

@ -2,7 +2,7 @@ import "./App.css";
import { LatLng } from "leaflet"; import { LatLng } from "leaflet";
import LiberationMap from "./components/liberationmap"; import LiberationMap from "./components/liberationmap";
import { useInitialGameState } from "./api/useInitialGameState"; import useInitialGameState from "./api/useInitialGameState";
function App() { function App() {
const mapCenter: LatLng = new LatLng(25.58, 54.9); const mapCenter: LatLng = new LatLng(25.58, 54.9);

View File

@ -10,15 +10,12 @@ import { useEffect } from "react";
// are smart enough to only initialize once which get called in the components // are smart enough to only initialize once which get called in the components
// that use them rather than forcibly loading the whole game in the root // that use them rather than forcibly loading the whole game in the root
// component. // component.
export function useInitialGameState() { export const useInitialGameState = () => {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
useEffect(() => { useEffect(() => {
return () => {
backend backend
.get("/control-points") .get("/control-points")
.catch((error) => .catch((error) => console.log(`Error fetching control points: ${error}`))
console.log(`Error fetching control points: ${error}`)
)
.then((response) => { .then((response) => {
if (response != null) { if (response != null) {
dispatch(setControlPoints(response.data as ControlPoint[])); dispatch(setControlPoints(response.data as ControlPoint[]));
@ -34,6 +31,7 @@ export function useInitialGameState() {
} }
} }
}); });
};
}); });
} };
export default useInitialGameState;