์ฝ๋์จ์์ ๋ฐฐ์ด ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ ํธ์ ์ ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฒ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๋ง๋ค์ด๋ด ์๋ค.
์ด๋ฉ์ผ๊ณผ ํจ์ค์๋๋ฅผ ์
๋ ฅํ input๊ณผ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํด๋ณด์์ต๋๋ค.
โ input ์
๋ ฅ๊ฐ์ด ๋ณ๊ฒฝ๋๋๋ก onChange
์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ์.
โ๏ธ ์ด๋ฉ์ผ ๋ณ๊ฒฝ ํจ์ : handelChangeEmail
โ๏ธ ํจ์ค์๋ ๋ณ๊ฒฝ ํจ์ : handelChangePassword
์ด๋ฉ์ผ๊ณผ ํจ์ค์๋ ๋ณ๊ฒฝ ํจ์๋ฅผ ๋ง๋ค์ด ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด changEmail
, changePassword
์ก์
์ ๋ง๋ค์ด ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
โก ๋ฆฌ๋์ ๋ฐ ์ก์ ์ ์ํ๊ธฐ
- reducer.js
- actions.js
๊ทธ ๋ค์์ผ๋ก ๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์๋ฒ์์ ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ด๋ ์ก์ ์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
โ requestLogin
์ก์
์ ๋ง๋ค์
์๋์ ๊ฐ์ด ์ก์ ์ ๋ง๋ค์ด ์ฃผ๋ ค๋ฉด
์๋ฒ์ ์์ฒญ์ ๋ณด๋ด์ผ ํฉ๋๋ค.
POST ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ด๋ฉ์ผ๊ณผ ํจ์ค์๋๋ฅผ ๋ฐ๋์ ์ค์ด์ ์์ฒญ์ ๋ณด๋ด๋ฉด DB์์ ๋๊ฐ์ ํ์ ์ ๋ณด๊ฐ ์กด์ฌํ๋์ง ํ์ธ์ ํ๊ณ ๋๊ฐ์ ์ ๋ณด๊ฐ ์กด์ฌํ๋ฉด ํ ํฐ์ ๋ฐํํด์ค๋๋ค.
๋ก๊ทธ์ธ์ ํ๊ธฐ ์ํด์๋ ํ ํฐ์ด ํ์ํฉ๋๋ค.
์ด๋ฐ ์๋ฆฌ๋ฅผ ์์์ผ๋ ์๋ฒ๋ฅผ ์ฐ๋ํด์ ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ(ํ ํฐ)๋ฅผ ๊ฐ์ ธ์ค๋๋ก ํด์ผํฉ๋๋ค.
api ํธ์ถํ๋ ํจ์๋ฅผ ์๋์ ๊ฐ์ด ๋ง๋ค์ด ์ฃผ์์ต๋๋ค.
์๋ฒ์์ ํ ํฐ์ ์์ฑํด์ค๋๋ก ํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด ๋ก๊ทธ์ธ ์์ฒญ ์ก์
์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ค๋๋ค.
์ด๋ ๊ฒ ๋ฐ๊ธ๋ฐ์ ํ ํฐ์ ์ ์ฅํด์ ์ฌ์ฉํด์ผํฉ๋๋ค.
์๋ ๊ทธ๋ฆผ์ฒ๋ผ localStorage์ ์ ์ฅ์ ํด์ ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ํ ํฐ์ ์ ์ฅํ๊ณ , ํ ํฐ์ด ํ์ํ ๊ณณ์์ ๊บผ๋ด์ ์ฌ์ฉํ ์ ์๋๋ก ๋ฆฌ๋์ค์ ์ ์ฅํด์ฃผ์์ต๋๋ค.
์ด์ ๋ก๊ทธ์ธ์ด ์ ์๋๋๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ์ ํจํ์ง ์๋ ์ด๋ฉ์ผ๊ณผ ํจ์ค์๋๋ฅผ ๋ฃ์ด๋ณด์์ต๋๋ค.
accessToken์ด undefined ์ธ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
์ด์ ์ง์ง๋ก ์ ์๋ํ๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ accessToken์ด ๋ฐํ ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ๋ ์์ฑํด๋ณด์์ต๋๋ค ๐๐๐๐๐