From 2b203fc8359607340b5afc555cc12aca6cb44400 Mon Sep 17 00:00:00 2001 From: ad044 Date: Fri, 11 Sep 2020 20:08:06 +0400 Subject: [PATCH] major refactor. moved state management to recoil. --- src/components/Hub.tsx | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/components/Hub.tsx b/src/components/Hub.tsx index 309c860..8dc5ded 100644 --- a/src/components/Hub.tsx +++ b/src/components/Hub.tsx @@ -1,15 +1,14 @@ -import React, { Suspense } from "react"; +import React, { memo, Suspense } from "react"; import level_sprites from "../resources/level_sprites.json"; import GrayRing from "./GrayRing"; -import LevelSprite from "./LevelSprite"; +import LevelSprite from "./LevelSprite/LevelSprite"; import PurpleRing from "./PurpleRing"; -import Preloader from "./Preloader"; +import { useRecoilValue } from "recoil"; +import { currentSpriteAtom } from "./LevelSprite/CurrentSpriteAtom"; -type HubProps = { - currentSprite: string; -}; +const Hub = memo(() => { + const currentSprite = useRecoilValue(currentSpriteAtom); -const Hub = (props: HubProps) => { return ( <> loading...}> @@ -33,13 +32,13 @@ const Hub = (props: HubProps) => { } sprite={sprite.sprite} key={sprite.id} - active={sprite.id === props.currentSprite} + active={sprite.id === currentSprite} /> ); })} ); -}; +}); export default Hub;