switchRoute.js 602 B

123456789101112131415161718192021222324
  1. import { useEffect, useState } from 'react';
  2. import { UseRoute, PrivateRoute } from '../route';
  3. import { jwtDecode } from '../utils';
  4. const SwitchRoute = () => {
  5. const [userName, setUserName] = useState('user');
  6. useEffect(() => {
  7. const token = localStorage.getItem('authToken');
  8. //
  9. if (token) {
  10. const name = jwtDecode(token).sub.acl;
  11. name.includes('admin') ? setUserName(name) : setUserName('user');
  12. }
  13. }, [localStorage.getItem('authToken')]);
  14. return (
  15. < >
  16. {userName === 'user' ? <UseRoute/> : <PrivateRoute/>}
  17. </>
  18. );
  19. };
  20. export default SwitchRoute;