๐Ÿœ Mine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ - ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Darleneยท2021๋…„ 9์›” 1์ผ
0

Mine ํ”„๋กœ์ ํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
12/12
post-thumbnail

๐Ÿœ Mine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ - ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

์ฝ”๋“œ์ˆจ์—์„œ ๋ฐฐ์šด ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

(1) ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ด…์‹œ๋‹ค.

์ด๋ฉ”์ผ๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•  input๊ณผ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

โ‘  input ์ž…๋ ฅ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋„๋ก onChange ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜์ž.

  โ˜‘๏ธ ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ ํ•จ์ˆ˜ : handelChangeEmail

 โ˜‘๏ธ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ ํ•จ์ˆ˜ : handelChangePassword

์ด๋ฉ”์ผ๊ณผ ํŒจ์Šค์›Œ๋“œ ๋ณ€๊ฒฝ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์•„๋ž˜์™€ ๊ฐ™์ด changEmail , changePassword ์•ก์…˜์„ ๋งŒ๋“ค์–ด ์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

โ‘ก ๋ฆฌ๋“€์„œ ๋ฐ ์•ก์…˜ ์ •์˜ํ•˜๊ธฐ

  - reducer.js    

 - actions.js    

(2) ๋กœ๊ทธ์ธ ์š”์ฒญ ์•ก์…˜ ๋งŒ๋“ค๊ธฐ

๊ทธ ๋‹ค์Œ์œผ๋กœ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ๋กœ๊ทธ์ธ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์•ก์…˜์„ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

โ‘  requestLogin ์•ก์…˜์„ ๋งŒ๋“ค์ž

์•„๋ž˜์™€ ๊ฐ™์ด ์•ก์…˜์„ ๋งŒ๋“ค์–ด ์ฃผ๋ ค๋ฉด

์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ: ์š”์ฒญ๋ฉ”์„œ๋“œ

POST ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฉ”์ผ๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ฐ”๋””์— ์‹ค์–ด์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด DB์—์„œ ๋˜‘๊ฐ™์€ ํšŒ์› ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ์„ ํ•˜๊ณ  ๋˜‘๊ฐ™์€ ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๋ฉด ํ† ํฐ์„ ๋ฐœํ–‰ํ•ด์ค๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ† ํฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์›๋ฆฌ๋ฅผ ์•Œ์•˜์œผ๋‹ˆ ์„œ๋ฒ„๋ฅผ ์—ฐ๋™ํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ(ํ† ํฐ)๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

(3) api ์—ฐ๋™ํ•˜๊ธฐ

api ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
์„œ๋ฒ„์—์„œ ํ† ํฐ์„ ์ƒ์„ฑํ•ด์˜ค๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ๋กœ๊ทธ์ธ ์š”์ฒญ ์•ก์…˜์— ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋ฐœ๊ธ‰๋ฐ›์€ ํ† ํฐ์„ ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ localStorage์— ์ €์žฅ์„ ํ•ด์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

(4) accessToken ์ €์žฅํ•˜๊ธฐ

์•„๋ž˜์™€ ๊ฐ™์ด ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ํ† ํฐ์„ ์ €์žฅํ•˜๊ณ , ํ† ํฐ์ด ํ•„์š”ํ•œ ๊ณณ์—์„œ ๊บผ๋‚ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฆฌ๋•์Šค์— ์ €์žฅํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋กœ๊ทธ์ธ์ด ์ž˜ ์ž‘๋™๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋จผ์ € ์œ ํšจํ•˜์ง€ ์•Š๋Š” ์ด๋ฉ”์ผ๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋„ฃ์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

accessToken์ด undefined ์ธ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ง„์งœ๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ์ด ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  accessToken์ด ๋ฐœํ–‰ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„๋„ ์™„์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘๐Ÿ‘

0๊ฐœ์˜ ๋Œ“๊ธ€