HomeProfile.js 1.4 KB
Newer Older
Kim, Chaerin's avatar
Kim, Chaerin committed
1
import { Link } from "react-router-dom";
우지원's avatar
0726    
우지원 committed
2
3
import { useState, useEffect } from "react";
import userApi from "../../apis/user.api";
우지원's avatar
0728    
우지원 committed
4
import catchErrors from "../../context/catchError";
우지원's avatar
0726    
우지원 committed
5

seoyeon's avatar
0727    
seoyeon committed
6
const userprofile = localStorage.getItem("user");
우지원's avatar
0726    
우지원 committed
7
const INIT_USER = {
seoyeon's avatar
0727    
seoyeon committed
8
  id: userprofile,
이재연's avatar
x    
이재연 committed
9
10
11
  email: "",
  img: "",
};
우지원's avatar
0628    
우지원 committed
12

Kim, Chaerin's avatar
Kim, Chaerin committed
13
const HomeProfile = () => {
이재연's avatar
x    
이재연 committed
14
15
16
  const [user, setUser] = useState(INIT_USER);
  const [error, setError]= useState("");
  
seoyeon's avatar
0727    
seoyeon committed
17
  async function getSetUser(userID) {
우지원's avatar
0726    
우지원 committed
18
    try {
이재연's avatar
x    
이재연 committed
19
20
21
      const data = await userApi.getUser(userID);

      setUser(data);
우지원's avatar
0726    
우지원 committed
22
    } catch (error) {
이재연's avatar
x    
이재연 committed
23
      catchErrors(error, setError);
우지원's avatar
0726    
우지원 committed
24
25
26
27
    }
  }

  useEffect(() => {
이재연's avatar
x    
이재연 committed
28
29
    getSetUser(userprofile);
  }, [userprofile]);
우지원's avatar
0726    
우지원 committed
30

Kim, Chaerin's avatar
Kim, Chaerin committed
31
  return (
이재연's avatar
오잉    
이재연 committed
32
    <Link to={`/profile/${user.id}`} className="text-decoration-none text-dark">
Kim, Chaerin's avatar
Kim, Chaerin committed
33
34
35
      <form className="flex-column align-items-center justify-content-center m-2">
        <div className="d-flex justify-content-center">
          <img
이재연's avatar
이재연 committed
36
            src={`/uploads/${user.img}`}
Kim, Chaerin's avatar
Kim, Chaerin committed
37
38
39
40
41
42
43
            className="rounded-circle"
            style={{
              width: "157px",
              height: "157px",
            }}
          />
        </div>
이재연's avatar
d    
이재연 committed
44
        <h1 className="d-flex justify-content-center"> {user.email} </h1>
우지원's avatar
0726    
우지원 committed
45
        <h2 className="d-flex justify-content-center"> #{user.id} </h2>
Kim, Chaerin's avatar
Kim, Chaerin committed
46
47
48
49
50
51
      </form>
      <div
        style={{ backgroundColor: "#262626", width: "auto", height: "2px" }}
      />
    </Link>
  );
Kim, Chaerin's avatar
Kim, Chaerin committed
52
53
54
};

export default HomeProfile;