Skip to content

Commit 2c56207

Browse files
committed
useMemo instead of useEffect and state
1 parent d7ec115 commit 2c56207

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

client/modules/IDE/hooks/useWhatPage.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect, useState } from 'react';
1+
import { useEffect, useMemo, useState } from 'react';
22
import { useSelector } from 'react-redux';
33
import { 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

Comments
 (0)