์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- PROJECT
- ๋ฆฌ์กํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก์ ํธ
- Firebase
- ํ๋ก ํธ์๋
- API
- ๋ณ์
- react
- ์๋ฌ
- ํจ์
- native
- wil
- K-Digital
- ํ์ค
- ํ์
- Redux
- JS
- rn
- NEXT
- ๋ด์ผ๋ฐฐ์์บ ํ
- ๊ฐ๋ฐ์
- ๋ถํธ์บ ํ
- JavaScript
- trainning
- ์๊ณ ๋ฆฌ์ฆ
- ์จ๋ผ์ธ
- type
- ๋ด์ผ๋ฐฐ์
- ์ฝ๋ฉ
- Today
- Total
Frontend ๊ฐ๋ฐ์ - hyo.loui
Project : MZL - ๋ก๊ทธ์ธ ๋ณธ๋ฌธ
๐ฏ๋ชฉ์ :
Firebase - Authentication : ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
๊ธฐ๋ฅ ํ์ต ๋ฐ ์ ์ฉ >> Firebase : FireStore ์ฐ๊ฒฐ
๐คข ์ค๋ฅ ๋ฐ๊ฒฌ (๋ฏธํด๊ฒฐ
- ๋ก๊ทธ์์ ํ currentUser๊ฐ null์ด ๋์ด ๋ง์ดํ์ด์ง tabs ํด๋ฆญ์ ์๋ฌ๊ฐ ์ถ๋ ฅ
1. UI Layout ๋ง๋ค๊ธฐ
ํ์๊ฐ์ UI์ ๋ง์ฐฌ๊ฐ์ง๋ก <KeyboardAwareScrollView/> ๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค..
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ฐ์ ธ์จ ํ๊ทธ๋ก ์์๋ฅผ ๊ฐ์ธ์ฃผ์๊ณ ,
ID(์์ด๋), Password(๋น๋ฐ๋ฒํธ), Login(๋ก๊ทธ์ธ), Register(ํ์๊ฐ์
)
๋ถ๋ถ์ผ๋ก ๋๋์๋ค
์คํ์ผ์ Emotion์ ์ฌ์ฉํ๋ค
ํ์๊ฐ์ ๊ธฐ๋ฅ, ๋ก๊ทธ์ธ ์คํ ํจ์์์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์งํ๋๋๋ฐ
ํด๋น ๋ถ๋ถ์ ๋ก์ง์ด ์ ์ฒด์ ์ผ๋ก ์ฝ๋๊ฐ ๊ธธ๊ณ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ
์ ํจ์ฑ๊ฒ์ฌ๋ฅผ ํ๋ ๋ถ๋ถ์ ๋ฐ๋ก ๋๋์ด ๋ฆฌํํ ๋ง ํด ์ฃผ์๋ค
2. ์ ํจ์ฑ ๊ฒ์ฌ
์ ์ฝ๋์์๋ ํ์๊ฐ์ ๊ณผ ๊ฐ์ด
์ ํจ์ฑ๊ฒ์ฌ๋ฅผ ํต๊ณผํ์ง ๋ชปํ์ ๋ alertTextTimer ๋ผ๋ ํจ์๋ก
UI๋ถ๋ถ์ ์ฝ์ ํด ๋ฌธ์ ๋ถ๋ถ์ ํ ์คํธ๋ก ๋ณด์ฌ์ฃผ๊ณ ,
useRef๋ฅผ ํ์ฉํด ํด๋นํ๋ ์์ญ(TextInput)์ด focus๊ฐ ๋๋๋ก ๋ง๋ค์ด์ฃผ์๋ค
focus == ๋ง์ฐ์ค๋ก ํด๋ฆญํ์ฌ ์ ๋ ฅ์ํ๋ก ๋ง๋ ๊ฒ!
3. authentication >> ๋ก๊ทธ์ธ api
์ฒซ๋ฒ์งธ๋ก ์ ํจ์ฑ๊ฒ์ฌ ํจ์๋ฅผ ์คํํด ์กฐ๊ฑด๊ณผ ์ผ์นํ์ฌ
๊ฒ์ฌ์ ๊ฑธ๋ฆฐ๋ค๋ฉด ๊ทธ๋๋ก return ๋์ด ๋ค๋ฅธ ์ฝ๋ ์คํ์์ด ์ข ๋ฃ๋๋ค
signInWithEmailAndPassword API๋ฅผ importํ์ฌ
ํจ์๋ฅผ ์คํํ๊ณ ์ธ์๋ก
- auth(firebase authentication)
- email (TextInput์์ setSateํ์ฌ ์ ๋ ฅ๋ฐ์ state๊ฐ)
- pasword (TextInput์์ setSateํ์ฌ ์ ๋ ฅ๋ฐ์ state๊ฐ)
๋ฅผ ๋๊ฒจ์ค๋ค!
.then .catch ๋ฌธ์ ํ์ฉํด
์คํ์ด ๋๋ค๋ฉด ์๋ฟ(์๋ฆผ์ฐฝ)์ผ๋ก ์๋ ค์ฃผ๊ณ ,
ํ์ธ( OK ) ๋ฒํผ์ (onPress())๋๋ฅด๋ฉด reset ํจ์๋ก
ํํ๋ฉด์ผ๋ก ์ด๋๋๊ฒ ํ๊ณ ,
์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ์ catch๋ฌธ์ผ๋ก ์ก์
์ฝ์์ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋์ ์์ฃผ ๋ฐ์ํ๋ ์๋ฌ์ ๋ํด
firebase๊ฐ ๋ด๋ ค์ฃผ๋ ํ ์คํธ๋ฅผ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๊ฒ์ฌํ๊ณ , include๋ฅผ ํตํด
์ ํจ์ฑ๊ฒ์ฌ์ ๊ฐ์ ํจ๊ณผ์ฒ๋ผ ์ ์ ์ ์นํ์ ์ธ text๋ฅผ ๋ณด์ฌ์ค ์ ์์๋ค
+ ์ค๋ฅ ๋ฐ๊ฒฌ :
// ๋ง์ดํ์ด์ง screen
๋ก๊ทธ์์ ๊ธฐ๋ฅ ๊ตฌํ์ค ๋ก๊ทธ์์์ด ๋์ด
auth.currentUser๊ฐ ๊ฐ์ง๋์ง ์์ผ๋ฉด, ๋ง์ดํ์ด์ง ํด๋ฆญํ์ ๋
๋ก๊ทธ์ธํ์ด์ง๋ก ์ด๋ํ๋ ๊ฒ์ ๊ตฌํํ๊ณ ์์๋ค.
ํ์ง๋ง ๋ก๊ทธ์์์ด ๋๋ฉด
currentUser๊ฐ null์ด ๋์ด ๋ง์ดํ์ด์ง tabs ํด๋ฆญ์
์๋ฌ๊ฐ ์ถ๋ ฅ๋์๋ค.
ํด๋น ์๋ฌ๋ ๋ด์ผ ํด๊ฒฐํ๊ณ ์์ธํ ๋ค๋ฃจ๋๋ก ํ๊ฒ ๋ค!
์ต์ข ์ ๋ฆฌ
- ๋ก์ง์ ํ์๊ฐ์ ๊ณผ ๋งค์ฐ ์ ์ฌ
- ์ ํจ์ฑ๊ฒ์ฌ ํจ์ ๋ถ๋ฆฌํ์ฌ ์ฝ๋ ๊ฐ์ํ ์งํ!
- ๋ก๊ทธ์ธ์ด ์๋ฃ๋๋ฉด alert์ผ๋ก ์๋ ค์ฃผ๊ณ , navigate ๊ธฐ๋ฅ์ธ reset์ ํ์ฉํ์ฌ Homeํ๋ฉด์ผ๋ก ์ด๋
- KeyboardAwareScrollView ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ : ํ๋จ ๋งํฌ ์ฐธ์กฐ
https://github.com/APSL/react-native-keyboard-aware-scroll-view
'Project' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Project : MZ Language (MZL) - KPT ํ๊ณ (0) | 2023.01.13 |
---|---|
Project : MZL - ๋ก๊ทธ์์, ๋ง์ดํ์ด์ง ์ด๋ ์ ์๋ฌํด๊ฒฐ (0) | 2023.01.11 |
Project : MZL - ํ์๊ฐ์ (0) | 2023.01.09 |
Project : helprogrammers - ์๊ฐ(์ด๋์ฅ) (0) | 2022.12.28 |
Project : helprogrammers - ์์ธ ํ์ด์ง (0) | 2022.12.26 |