1
- import { useEffect , useState } from 'react' ;
1
+ import { useEffect , useMemo , useState } from 'react' ;
2
2
import { useSelector } from 'react-redux' ;
3
3
import { useLocation } from 'react-router-dom' ;
4
4
@@ -11,20 +11,19 @@ const useWhatPage = () => {
11
11
const username = useSelector ( ( state ) => state . user . username ) ;
12
12
const { pathname } = useLocation ( ) ;
13
13
14
- const [ pageName , setPageName ] = useState ( projectName ) ;
14
+ const pageName = useMemo ( ( ) => {
15
+ const myStuffPattern = new RegExp (
16
+ `(/${ username } /(sketches/?$|collections|assets)/?)`
17
+ ) ;
15
18
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' ;
25
23
else if ( pathname === '/p5/collections' || pathname === '/p5/sketches' )
26
- setPageName ( 'examples' ) ;
27
- } , [ pathname ] ) ;
24
+ return 'examples' ;
25
+ return projectName ;
26
+ } , [ pathname , username ] ) ;
28
27
29
28
return pageName ;
30
29
} ;
0 commit comments