인프런 커뮤니티 질문&답변
로그인후 성공후에 swr로 요청한 user가 호출되지 않습니다
작성
·
585
0
안녕하세요!
swr 사용하기(쿠키공유하기) 강좌를 보던중에
코드를 제로초님과 분명 똑같이 작성했는데
저는 로그인 성공후에 swr에서 user를 확인하는 get 방식 api가 호출되지 않습니다 ㅠㅠ
로그인 화면 접속시에는 강좌와 같이 호출이 되는데말이죠..
몇일 고민하다 글올립니다ㅠㅠ 무엇이 문제인가요
네트워크 요청

Login/index.tsx
import useInput from "@hooks/useInput";
import { Success, Form, Error, Label, Input, LinkContainer, Button, Header } from "@pages/SignUp/styles";
import fetcher from "@utils/fetcher";
import axios from "axios";
import React, { useCallback, useState } from "react";
import { Link } from "react-router-dom";
import useSWR from "swr";
const LogIn = () => {
const { data, error } = useSWR("http://localhost:3095/api/users", fetcher);
const [logInError, setLogInError] = useState(false);
const [email, onChangeEmail] = useInput("");
const [password, onChangePassword] = useInput("");
const onSubmit = useCallback(
(e) => {
e.preventDefault();
setLogInError(false);
axios
.post("http://localhost:3095/api/users/login", { email, password })
.then(() => {})
.catch((error) => {
setLogInError(error.response?.data?.statusCode === 401);
});
},
[email, password],
);
return (
<div id="container">
<Header>Sleact</Header>
<Form onSubmit={onSubmit}>
<Label id="email-label">
<span>이메일 주소</span>
<div>
<Input type="email" id="email" name="email" value={email} onChange={onChangeEmail} />
</div>
</Label>
<Label id="password-label">
<span>비밀번호</span>
<div>
<Input type="password" id="password" name="password" value={password} onChange={onChangePassword} />
</div>
{logInError && <Error>이메일과 비밀번호 조합이 일치하지 않습니다.</Error>}
</Label>
<Button type="submit">로그인</Button>
</Form>
<LinkContainer>
아직 회원이 아니신가요?
<Link to="/signup">회원가입 하러가기</Link>
</LinkContainer>
</div>
);
};
export default LogIn;
fetcher.ts
import axios from "axios";
const fetcher = (url: string) => axios.get(url).then((response) => response.data);
export default fetcher;
답변 2
0
0





로그인 후에 사용자데이터를 갱신요청하는 겁니다.