codestates / codestates/UptoDoor
[๐ช Error Handling] ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ ๋ชจ๋ฌ์์ xํ์๋ฅผ ๋๋ ์ ๊ฒฝ์ฐ ๋๋ฉ์ผ๋ก ์ด๋ํ๊ธฐ / 2021-09-27
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
> ํด๊ฒฐ๋ ์๋ฌ๋ผ๋ฉด ๋ผ๋ฒจ์ 'Complete' ๋ฅผ ๋ฌ์์ฃผ์ธ์.
> ๋ฏธํด๊ฒฐ๋ ์๋ฌ๋ผ๋ฉด ๋ผ๋ฒจ์ 'In progress' ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
### ์ด๋ค ์๋ฌ์ธ๊ฐ์?
- successModal, signinModal๋ก ์ํ๋ฅผ ๊ด๋ฆฌํ์ฌ ๊ฐ๊ฐ ํ์๊ฐ์
์ฑ๊ณต ๋ชจ๋ฌ, ํ์ธ์ ๋๋ฅด๋ฉด ๋ก๊ทธ์ธ ๋ชจ๋ฌ์ด ๋จ๊ฒ ๋ง๋ค์๋ค.
- ํ์ง๋ง ๋ก๊ทธ์ธ ๋ชจ๋ฌ์์ x๋ฅผ ๋๋ ์๋, ํ์๊ฐ์
ํ์ด์ง์ ๋จธ๋ฌด๋ ๊ฒ์ด ์๋ ๋๋ฉ์ผ๋ก ์ด๋ํ๊ฒ ํ๋๊ฒ ์ ๋์ง ์์๋ค.
### ์๋ฌ ๋ฉ์์ง
```bash
signup์ ๋จธ๋ฌผ๋ฌ ์๊ฒ๋จ
```
### ์๋ฌ ํธ๋ค๋ง ๋ฐฉ๋ฒ
- 2๊ฐ์ ๋ชจ๋ฌ ์ํ๋ฅผ false๋ก ๋จ๊ธฐ๋๋ฌธ์ ์ด 2๊ฐ๋ง์ ๊ฐ์ง๊ณ ํ๊ธฐ์๋ ๋ถ์กฑํ๋ค๊ณ ํ๋จํ๋ค.
- const [count, setCount] =useState(0)๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ด 1 ์ด๊ณผ ์ผ๊ฒฝ์ฐ๋ฅผ ๋ํด
- (count >= 3 && !successModal && !signinModal) ์กฐ๊ฑด์ด ์๋ฃ๋์์์์ ๋๋ฉํ์ด์ง๋ก ์ด๋ํ๊ฒ ๋ง๋ค์๋ค.
- ํ์๊ฐ์
์ ์ฑ๊ณตํ๋ค๋ฉด (0,false,false) => (1,true,true)
- ์ฌ์ธ์
์ฑ๊ณต๋ชจ๋ฌ ํ์ธ ๋๋ ์์ (1,true,true) => (2, false, true)
- ๋ก๊ทธ์ธ ๋ชจ๋ฌ์์ ๋ก๊ทธ์ธ ํ์ง์๊ณ , x๋ฅผ ๋๋ ์ ๊ฒฝ์ฐ (2,false,true) => (3, false, false)
- ๋ก๊ทธ์ธ์ ๋ฐ๋ก ์งํํ์์์๋ ๋ฐ๋ก ๋๋ฉ์ผ๋ก ๊ฐ๋ ์๊ด์์
- ํ์ง๋ง ํ์๋ฅผ ํตํด ์ฌ์ธ์
์ด ์๋ฃ๋๋ฉด ๋๋ฉ์ผ๋ก ์ด๋์ํค๊ธฐ๋ก ํจ. ํ์์์ด์ง
```js
const [successModal, setSuccessModal] = useState(false);
const [signinModal, setSigninModal] = useState(false);
//์ ์ถํธ๋ค๋ฌ
const signupSubmitHandler = useCallback((e) => {
e.preventDefault();
if(password !== passwordChk) return false;
if(passwordRegErr === true) return setPasswordRegErr(true);
if(certEmail === false) return setCertEmail(true);
// if(isAllchecked === false ) return false;
let userinfo = {
email,password,nickname,mobile,
gender,age
}
dispatch(signUp(userinfo))
.then((res) => {
console.log('===',res.payload)
if (res.payload.message === 'Signup success') {
setSuccessModal(true);
setSigninModal(true);
// window.location.href="https://uptodoor.shop/"
} else {
alert('ํ์๊ฐ์
์กฐ๊ฑด์ ์ถฉ์กฑํด์ฃผ์ธ์.');
}
})
.catch((err) => {
console.log(err)
});
},[email,password,passwordChk,certEmail])
// useEffect๋ก ๊ด๋ฆฌ
const [count, setCount] =useState(0)
useEffect(() => {
if (count >= 3 && !successModal && !signinModal) {
window.location.href = "http://localhost:3000";
}
}, [successModal, signinModal]);
```
### ์๋ฌ ํธ๋ค๋ง์ ์ํด ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค ๋งํฌ
[๋งํฌ]()
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.