1- import { useEffect , useState } from 'react' ;
1+ import { useEffect , useMemo , useState } from 'react' ;
22import { useSelector } from 'react-redux' ;
33import { useLocation } from 'react-router-dom' ;
44
@@ -11,20 +11,19 @@ const useWhatPage = () => {
1111 const username = useSelector ( ( state ) => state . user . username ) ;
1212 const { pathname } = useLocation ( ) ;
1313
14- const [ pageName , setPageName ] = useState ( projectName ) ;
14+ const pageName = useMemo ( ( ) => {
15+ const myStuffPattern = new RegExp (
16+ `(/${ username } /(sketches/?$|collections|assets)/?)`
17+ ) ;
1518
16- const myStuffPattern = new RegExp (
17- `(/${ username } /(sketches/?$|collections|assets)/?)`
18- ) ;
19-
20- useEffect ( ( ) => {
21- if ( myStuffPattern . test ( pathname ) ) setPageName ( 'myStuff' ) ;
22- else if ( pathname === '/login' ) setPageName ( 'login' ) ;
23- else if ( pathname === '/signup' ) setPageName ( 'signup' ) ;
24- else if ( pathname === '/account' ) setPageName ( 'account' ) ;
19+ if ( myStuffPattern . test ( pathname ) ) return 'myStuff' ;
20+ else if ( pathname === '/login' ) return 'login' ;
21+ else if ( pathname === '/signup' ) return 'signup' ;
22+ else if ( pathname === '/account' ) return 'account' ;
2523 else if ( pathname === '/p5/collections' || pathname === '/p5/sketches' )
26- setPageName ( 'examples' ) ;
27- } , [ pathname ] ) ;
24+ return 'examples' ;
25+ return projectName ;
26+ } , [ pathname , username ] ) ;
2827
2928 return pageName ;
3029} ;
0 commit comments