๋น๊ฐ๋ฐ์ ํน์ ํ๋ก๊ทธ๋๋ฐ ์ด๊ธ์๋ฅผ ๋์์ผ๋ก ๊พธ์คํ ๊ฐ๋ฐ ๊ต์ก์ ์งํํด ์์ต๋๋ค.
์ ๊ฒฝํ๊ณผ ์ง์์ด ์ฌ๋ฌ๋ถ์๊ฒ ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.
๊ฐ์ฌํฉ๋๋ค :)
Posts
Q&A
๋งฅ๋ถ m4์์ nvm์ผ๋ก ์ค์น๋ถ๊ฐ
์๋ ํ์ธ์, ๊ฐ์๊ฐ ์ดฌ์๋ ์๊ธฐ๊ฐ ์ค๋๋์ด ๋ฒ์ ์ฐจ์ด๊ฐ ๋ง์ด ์์ต๋๋ค.node ๋ ์ง์ ๋ฒ์ ์ด LTS์ด๋ ์ง์ ๋ฒ์ ์ผ๋ก ์ค์นํด์ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค. 18๋ฒ์ ์ ์ฌ์ฉํด๋ ๋ฌธ์ ๋ ์์ง๋ง, 22๋ฒ์ ํน์ 24๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ถ๊ฐ๋ก, ๊ฐ์์์ ์ฌ์ฉ๋ Expo ๋ฒ์ ๋ฐ React Native ๋ฒ์ ๊ณผ ํ์ฌ ๋ฒ์ ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๊ฐ์์ ํ์ฌ ๋ฒ์ ์ ์ฐจ์ด๊ฐ ์์ผ๋ ๊ณต์๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ํ์ธํ๋ฉฐ ์งํํ์๊ธฐ ๋ฐ๋๋๋ค.https://docs.expo.dev/https://reactnative.dev/https://reactnavigation.org/
- 0
- 2
- 53
Q&A
expo ๊ฐ ์ ๋ฐ์ดํธ ๋๋ฉด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๊ฐ์ต๋๋ค.
์๋ ํ์ธ์, ๊ธฐ์กด์ ์ฌ์ฉํ๋ expo ๋ฒ์ ์ผ๋ก ์งํํ์ธ์.ํน๋ณํ ์ด์ ๊ฐ ์๋ค๋ฉด ์งํ์ค์ธ ํ๋ก์ ํธ์ ๋ฒ์ ์ ๋ณ๊ฒฝํ์ง ์๋๊ฒ์ ์ถ์ฒํฉ๋๋ค.์๋ ๋ช ๋ น์ด๋ก ์ด์ ์ปค๋ฐ์ผ๋ก ๋๋ฆฐ ํ ์์ ํ๊ณ ๋ค์ ์งํํ์ธ์. git reset --hard ์ฌ๊ธฐ์ hash๊ฐ์ ์ด์ ์ปค๋ฐ์ธ https://github.com/dvrakry/rn-photo2/commit/e6d97e7c109acfe5230a461791e34d7ae58f4292 ์ hash๊ฐ์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค. git reset --hard e6d97e ๊ทธ๋ฆฌ๊ณ ์์ ์ ํ๊ณ ์ปค๋ฐ์ ํธ์ฌํ ๋ ์๋ฌ๊ฐ ๋ฐ์ํ ํ ๋ฐ --force ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ ๊ฐ์ ๋ก ํธ์ฌํ๋ฉด ๋ฎ์ด์ฐ๋ฉด์ ์งํ๋ฉ๋๋ค. git push --force
- 0
- 2
- 230
Q&A
navigation.replace() ์๋ํ์ง ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์ด๋์ธ์ง๋ฅผ ์ฐพ๋ ๋ฅ๋ ฅ์ ๊ธธ๋ฌ์ผํฉ๋๋ค. ํ์ฌ ๋ฌธ์ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ฉด, ์ด๋ฏธ์ง ์ ํ ํ๋ฉด(SelectPhotosScreen) -> ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) -> ์ด๋ฏธ์ง ์ ํ ํ๋ฉด(SelectPhotosScreen) ์์ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ํ๋ฉด ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) ํ๋ฉด์ผ๋ก ๋์๊ฐ๋๋ค. ์ด๋ฏธ์ง ์ ํ ํ๋ฉด(SelectPhotosScreen) -> ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) -> ์ด๋ฏธ์ง ์ ํ ํ๋ฉด(SelectPhotosScreen) -> ๊ธ ์์ฑ ํ๋ฉด(WriteTextScreen)์์๋ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ํ๋ฉด ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) ํ๋ฉด์ผ๋ก ๋์๊ฐ๋๋ค. ์ฆ, ์คํ์ ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) ํ๋ฉด์ด ๋จ์ ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) ํ๋ฉด์์ ์ ํ๋ ์ด๋ฏธ์ง๋ค์ ๊ฐ์ง๊ณ , ์ด๋ฏธ์ง ์ ํ ํ๋ฉด(SelectPhotosScreen)์ผ๋ก ๋์์ฌ ๋ ์คํ์์ ์ฌ๋ผ์ ธ์ผ ํ ์ด๋ฏธ์ง ํฝ์ปค(ImagePickerScreen) ํ๋ฉด์ด ๋จ์์๋ค๋ ๊ฒ์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์, ImagePickerScreen.js ํ์ผ์์ ํ์ธ ๋ฒํผ์ ๋๋ ์ ๋, SelectPhotosScreen.js ํ์ผ๋ก ์ด๋ํ๋ ๋ถ๋ถ์ ํ์ธํ๋ฉด ๋ฉ๋๋ค. ์คํ์ ํ๋ฉด์ด ๋จ์์์ด์ ๋ํ๋๋ ํ์์ผ๋ก, ์์์ ์ง๋ฌธํ ๋ด์ฉ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค. https://inf.run/BGHtc https://github.com/dvrakry/rn-photo2/blob/master/src/screens/ImagePickerScreen.js#L21navigateํจ์๋ฅผ popTo๋ก ๋ณ๊ฒฝํ์ธ์https://reactnavigation.org/docs/native-stack-navigator/#popto
- 0
- 2
- 87
Q&A
UpdateProfileScreen ์์ ์ฌ์ง ๋ฒํผ ํด๋ฆญ์ ์ค๋ฅ๋ฐ์.
์๋ ํ์ธ์, ์ด ๋ฌธ์ ๋ React Native์์ ์ ๊ณตํ๋ Image ์ปดํฌ๋ํธ์ ๋ฌธ์ ์ ๋๋ค. ์ดฌ์ ์๊ธฐ์ ํ์ฌ ๋ฒ์ ์ ์ฐจ์ด๊ฐ ์์ด์ ์๊ธด ๋ฌธ์ ์ด๋ ์ํด ๋ถํ๋๋ฆฝ๋๋ค. ph:// uri๋ฅผ ์ง์ํ๋ expo-image ๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค. https://docs.expo.dev/versions/unversioned/sdk/image/ expo-image ์ ์ฌ์ฉ๋ฐฉ๋ฒ์ด RN์ Image์ปดํฌ๋ํธ์ ํฌ๊ฒ ์ฐจ์ด๊ฐ ์๊ณ , ๋ฌธ์๊ฐ ์ ์์ฑ๋์ด ์์ด์ ์ฐพ์๋ณด๋ฉฐ ์ ์ฉํ๊ธฐ ์ฝ์ต๋๋ค. import ๋ถ๋ถ๋ง ์กฐ๊ธ ๋ณ๊ฒฝํ๋ฉด ๋๊ธฐ๋๋ฌธ์ ์์ ํ ๋ถ๋ถ๋ ์ ์ต๋๋ค.
- 0
- 2
- 67
Q&A
๋๋ค์ ์์ ํ ํ์ธ ๋ฒํผ์ ๋๋ฅผ์ ํ๊ธ์๋ง ์ถ๋ ฅ๋ฉ๋๋ค.
์๋ ๋ผ์ธ์https://github.com/dvrakry/rn-photo2/blob/master/src/screens/UpdateProfileScreen.js#L53onSubmit์ ์ถ๊ฐํ์ธ์. }, [navigation, disabled, onSubmit]);
- 0
- 2
- 105
Q&A
๋ชจ๋ฌ์ฐฝ์์ ๋ฒํผ์ด ์ถ๋ ฅ๋์ง ์์ต๋๋ค.
https://github.com/dvrakry/rn-photo2/blob/master/src/components/Button.js#L17์คํ์ ๋๋ค. DEFAULTDEFAUTL ๋ฒํผ์ด ์๋ณด์ด๋ ๊ฒ์ด ์๋๋ผ ๋ฐฐ๊ฒฝ์์ด undefined๊ฐ ๋์ด ์๋ณด์ด๋ ๊ฒ์ ๋๋ค. ์๋ณด์ด๋ ์ํ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ค์ ํด๋ฆญํด๋ณด๋ฉด ๋ฒํผ์ด ๋ณด์ ๋๋ค. ์คํ๋ฅผ ์ ํ์ธํด๋ณด์ธ์.๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ๊ฐ์ด ์ ๋ค์ด์ค๋์ง console.log๋ก ํ์ธํ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- 0
- 2
- 62
Q&A
๋ก๊ทธ์ธ ์๋ฌ ์ถ๋ ฅ์ default๊ฐ๋ง ๋์ต๋๋ค.
๋จผ์ , AuthStack ์ปดํฌ๋ํธ์ OpicTest ๋ผ๋ ์ปดํฌ๋ํธ๊ฐ ์์ด์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊นํ์ ์ฌ๋ฆด๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋ถ๋ถ์ ์ ์ธํ๋ฉด ๋ชจ๋ ๋์ํ๋ ์ฝ๋๋ฅผ ์ฌ๋ ค์ฃผ์ธ์. ์ฌ๋ ค์ฃผ์ ๊นํ์ ์๋ ์ฝ๋๋ ์ ์์ ์ผ๋ก ๋์ํฉ๋๋ค. (์ฌ์ง)(์ฌ์ง)(์ฌ์ง)๋จผ์ SignInScreen ์ปดํฌ๋ํธ์ onSubmit์์ form์ ์ด๋ค ๊ฐ์ด ์ ๋ฌ๋๋์ง ํ์ธํด๋ณด์ธ์. email๊ณผ password๊ฐ ์ ์ ๋ฌ๋๋์ง ํ์ธํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ getAuthErrorMessages ํจ์์์ errorCode๋ก ์ด๋ค ๊ฐ์ด ๋์ด์ค๋์ง ํ์ธํด๋ณด์ธ์. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฐ์ firebase error codes์์ ํ์ธํด ๋ณด์ธ์. https://firebase.google.com/docs/auth/admin/errors ๋ง์ง๋ง์ผ๋ก env.js ํ์ผ์ firebase ์ค์ ๊ฐ๋ค์ ์ ์์ ์ผ๋ก ์ ๋ ฅํ๋์ง ํ์ธํด๋ณด์ธ์.
- 0
- 2
- 81
Q&A
์๋๋ก์ด๋ ๊ธฐ๊ธฐ์์ SignUp ํ๋ฉด ๊ด๋ จ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ๋๊ฐ์ ๋์์ธ๋ ๊ธฐ๊ธฐ์ ๋ฐ๋ผ ๋ณด์ด๋ ๋ถ๋ถ์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ํ๋ฉด์ด ๊ธธ์๋ก ๋ง์ ๋ด์ฉ์ด ๋ณด์ด๊ณ , ์์์๋ก ์ ๊ฒ ๋ณด์ ๋๋ค. ํค๋ณด๋๊ฐ ๋ํ๋ฌ์ ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ํค๋ณด๋ ์์ญ์ด ํ๋ฉด์์ญ์ ๊ฐ๋ฆฌ๋ฉด์ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ํ์ ์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ถ๋ถ์ ํ๋ฉด์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ios์์ signin ๋ฒํผ์ด ๋ณด์ธ๋ค๋ฉด, ์กฐ๊ธ ํฐ ํ๋ฉด์ ios ๊ธฐ๊ธฐ๋ก ํ ์คํธ ํ๊ณ ์๋๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, iphone se๋ก ํ ์คํธํ๋ฉด signin ๋ฒํผ์ด ๊ฐ๋ ค์ง๊ณ , iphone 16 pro max์์ ํ ์คํธํ๋ฉด signin ๋ฒํผ์ด ๋ณด์ ๋๋ค. ํ๋ฉด์ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ๊ธฐ๊ธฐ๋ง๋ค, ํน์ ํ๋ซํผ๋ง๋ค ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ๋ค๋ง, ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ด ๊ธฐ๋ฅ์ ์ํฅ์ด ์๋ ๊ฒ์ ์๋๋๋ค. ์ ๊ฐ ๋ชจ๋ ๊ธฐ๊ธฐ์์ ํ ์คํธ ํ ์ ์์ด์ ๊ฐ ๊ธฐ๊ธฐ๋ง๋ค ์ด๋ค ๋ชจ์ต์ผ๋ก ๋ํ๋๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๊ธฐ๋ฅ์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ด ์๊ณ , ํ๋ฉด์์ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ์ค๋ฅ๊ฐ ์๋ ๊ฒ์ด ์๋๋ผ๋ฉด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ์ฐจ์ด๋ ๊ธฐ๊ธฐ์ ์ฐจ์ด์ด๋ ํฌ๊ฒ ์ ๊ฒฝ์ฐ์ง ์์๋ ๊ด์ฐฎ์ต๋๋ค.
- 0
- 2
- 56
Q&A
๊ฐ๋จํ ์ง๋ฌธ ํ๋๋ง ๋๋ฆฌ๊ฒ ์ต๋๋ค!
ํด๊ฒฐ ๋์๋ค๋ ๋คํ์ด๋ค์ :)
- 0
- 2
- 51
Q&A
text.trim() ๋ถ๋ถ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๋ถ๋ถ ๋ฌธ์ ๋ ์คํ์ผ ํ๋ฅ ์ด ๋์ต๋๋ค. ์ง๋ฌธํ๊ธฐ ์ ์ ์คํ๋ฅผ ํ์ธํด ๋ณด์ธ์. https://inf.run/Qt5D1onChangeText ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ถ๊ฐ๋ก, console.log๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ๊ฐ์ ํ์ธํด๋ณด์ธ์.text.trim()์์ trim์ด ํจ์๊ฐ ์๋๋ผ๋ ๋ฉ์์ง์ ํจ๊ป ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด, text์ ์ด๋ค ๊ฐ์ด ๋ค์ด๊ฐ๋์ง ํ์ธํด ๋ด์ผํฉ๋๋ค.
- 0
- 2
- 84