major refactor. moved state management to recoil.

This commit is contained in:
ad044 2020-09-11 20:08:06 +04:00
parent 3df106d991
commit 2b203fc835

View file

@ -1,15 +1,14 @@
import React, { Suspense } from "react"; import React, { memo, Suspense } from "react";
import level_sprites from "../resources/level_sprites.json"; import level_sprites from "../resources/level_sprites.json";
import GrayRing from "./GrayRing"; import GrayRing from "./GrayRing";
import LevelSprite from "./LevelSprite"; import LevelSprite from "./LevelSprite/LevelSprite";
import PurpleRing from "./PurpleRing"; import PurpleRing from "./PurpleRing";
import Preloader from "./Preloader"; import { useRecoilValue } from "recoil";
import { currentSpriteAtom } from "./LevelSprite/CurrentSpriteAtom";
type HubProps = { const Hub = memo(() => {
currentSprite: string; const currentSprite = useRecoilValue(currentSpriteAtom);
};
const Hub = (props: HubProps) => {
return ( return (
<> <>
<Suspense fallback={<>loading...</>}> <Suspense fallback={<>loading...</>}>
@ -33,13 +32,13 @@ const Hub = (props: HubProps) => {
} }
sprite={sprite.sprite} sprite={sprite.sprite}
key={sprite.id} key={sprite.id}
active={sprite.id === props.currentSprite} active={sprite.id === currentSprite}
/> />
); );
})} })}
</Suspense> </Suspense>
</> </>
); );
}; });
export default Hub; export default Hub;