From 37fc6b6fa8959bba5b2870b31af5fe3fa4728eda Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Tue, 26 Mar 2024 03:40:03 +0100 Subject: [PATCH] wrapped context vlaues with usememo --- traque-front/context/adminConnexionContext.jsx | 6 ++++-- traque-front/context/adminContext.jsx | 5 +++-- traque-front/context/socketContext.jsx | 5 +++-- traque-front/context/teamConnexionContext.jsx | 6 ++++-- traque-front/context/teamContext.jsx | 5 +++-- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/traque-front/context/adminConnexionContext.jsx b/traque-front/context/adminConnexionContext.jsx index c894077..506c049 100644 --- a/traque-front/context/adminConnexionContext.jsx +++ b/traque-front/context/adminConnexionContext.jsx @@ -1,5 +1,5 @@ "use client"; -import { createContext, useContext, useState } from "react"; +import { createContext, useContext, useMemo, useState } from "react"; import { useSocket } from "./socketContext"; import { useSocketListener } from "@/hook/useSocketListener"; @@ -14,8 +14,10 @@ const AdminConnexionProvider = ({ children }) => { useSocketListener(adminSocket, "login_response", setLoggedIn); + const value = useMemo(() => ({ login, loggedIn }), [loggedIn]); + return ( - + {children} ); diff --git a/traque-front/context/adminContext.jsx b/traque-front/context/adminContext.jsx index f4af89d..f4dfc48 100644 --- a/traque-front/context/adminContext.jsx +++ b/traque-front/context/adminContext.jsx @@ -1,5 +1,5 @@ "use client"; -import { createContext, useContext, useEffect, useState } from "react"; +import { createContext, useContext, useEffect, useMemo, useState } from "react"; import { useSocket } from "./socketContext"; import { useSocketListener } from "@/hook/useSocketListener"; import { useAdminConnexion } from "./adminConnexionContext"; @@ -21,8 +21,9 @@ function AdminProvider({children}) { useSocketListener(adminSocket, "teams", setTeams); useSocketListener(adminSocket, "game_started", setStarted); + const value = useMemo(() => ({teams, setTeams, started, setStarted}), [teams, started]); return ( - + {children} ); diff --git a/traque-front/context/socketContext.jsx b/traque-front/context/socketContext.jsx index 0ef0526..158500c 100644 --- a/traque-front/context/socketContext.jsx +++ b/traque-front/context/socketContext.jsx @@ -1,5 +1,5 @@ "use client"; -import { createContext, useContext } from "react"; +import { createContext, useContext, useMemo } from "react"; const { io } = require("socket.io-client"); @@ -12,8 +12,9 @@ export const adminSocket = io(ADMIN_SOCKET_URL); export const SocketContext = createContext(); export default function SocketProvider({ children }) { + const value = useMemo(() => ({ teamSocket, adminSocket }), [teamSocket, adminSocket]); return ( - {children} + {children} ); } diff --git a/traque-front/context/teamConnexionContext.jsx b/traque-front/context/teamConnexionContext.jsx index 0aec041..d806372 100644 --- a/traque-front/context/teamConnexionContext.jsx +++ b/traque-front/context/teamConnexionContext.jsx @@ -1,5 +1,5 @@ "use client"; -import { createContext, useContext, useState } from "react"; +import { createContext, useContext, useMemo, useState } from "react"; import { useSocket } from "./socketContext"; import { useSocketListener } from "@/hook/useSocketListener"; @@ -15,9 +15,11 @@ const TeamConnexionProvider = ({ children }) => { } useSocketListener(teamSocket, "login_response", setLoggedIn); + + const value = useMemo(() => ({ teamId, login, loggedIn }), [teamId, login, loggedIn]); return ( - + {children} ); diff --git a/traque-front/context/teamContext.jsx b/traque-front/context/teamContext.jsx index b3eca3f..480b28a 100644 --- a/traque-front/context/teamContext.jsx +++ b/traque-front/context/teamContext.jsx @@ -1,7 +1,7 @@ "use client"; import { useLocation } from "@/hook/useLocation"; import { useSocketListener } from "@/hook/useSocketListener"; -import { createContext, useContext, useEffect, useState } from "react"; +import { createContext, useContext, useEffect, useMemo, useState } from "react"; import { useSocket } from "./socketContext"; import { useTeamConnexion } from "./teamConnexionContext"; @@ -22,8 +22,9 @@ function TeamProvider({children}) { } }, [loggedIn, currentPosition]); + const value = useMemo(() => ({enemyPosition, currentPosition}), [enemyPosition, currentPosition]); return ( - + {children} );