codestates / codestates/UptoDoor

[๐ŸŒช Error Handling] ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ ๋ชจ๋‹ฌ์—์„œ xํ‘œ์‹œ๋ฅผ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ ๋žœ๋”ฉ์œผ๋กœ ์ด๋™ํ•˜๊ธฐ / 2021-09-27

Open
#211 0 comments 0 reactions 1 assignee Claimed by @dydwns2441 View on GitHub
complete error
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.