Light Purple Pointer
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ๋นŒ๋“œ ๋ฐฉ๋ฒ• ์ฐธ๊ณ ํ•˜๊ธฐ
ยท
FRONTEND/ReactNative
https://docs.expo.dev/develop/development-builds/create-a-build/ Create a development build Learn how to create development builds for a project. docs.expo.dev
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ์ฆ๊ฒจ์ฐพ๊ธฐ ํ™”๋ฉด
ยท
FRONTEND/ReactNative
import { View, Text, ActivityIndicator } from 'react-native'; import React from 'react'; export default function FavoriteScreen() { return ( ๋กœ๋”ฉ... ); } PlaceListView์™€ ๊ฐ™์ด ํŒŒ์ด์–ด์Šคํ† ์–ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. export default function FavoriteScreen() { const { user } = useUser(); const [favList, setFavList] = useState([]); useEffect(() => { user && getFav(); }, [user]); const getFav = async (del = false) => { setFa..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋กœ ์ •๋ณด ์ €์žฅํ•˜๊ธฐ
ยท
FRONTEND/ReactNative
์šฐ์„  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ฆฌ์•กํŠธ๋ž‘ ๋˜‘๊ฐ™๊ธฐ ๋•Œ๋ฌธ์—(๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ) App์œผ๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ todoList ํ˜น์€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒ โ€‹ ์šฐ์„  ํŒŒ์ด์–ด์Šคํ† ์–ด์˜ ๋ฃฐ(๊ทœ์น™) ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž. ๊ทœ์น™์˜ ๋‚ ์งœ๊ฐ€ ์˜ค๋ฒ„๋ฌ๋‹ค๋ฉด ์šฐ์„  ํ˜„์žฌ ๋‚ ์งœ ์ดํ›„๋กœ ๊ฐ„๋‹จํžˆ ์ˆ˜์ •ํ•ด์ฃผ๊ณ  ํ”„๋กœ์ ํŠธ ์™„๋ฃŒํ›„ ๊ทœ์น™์„ ์ƒˆ๋กœ(์ธ์ฆ๋“ฑ ์ ์šฉ)๋งŒ๋“ค์—ˆ๋‹ค. ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋Š” ์‚ฌ์šฉํ• ๋ ค๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋ฅผ ์„ค์น˜ํ•œ๋‹ค. import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore"; const firebaseConfig = { apiKey: process.env.EXPO_PUBLIC_FIREBASE_A..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ์„œ์น˜๋ฐ” ์ง€์—ญ ๊ฒ€์ƒ‰
ยท
FRONTEND/ReactNative
ํ˜„์žฌ ์•ฑ์€ ๋‚ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฒ€์ƒ‰์ด ๋œ๋‹ค. โ€‹ ์ƒ๋‹จ์˜ ์„œ์น˜๋ฐ”๋ฅผ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ ๊ทธ ์ง€์—ญ์˜ ์œ„๋„ ๊ฒฝ๋„๋ฅผ ์–ป์–ด์„œ ๊ทธ ์ง€์—ญ ์œ„์น˜๋กœ ๊ฒ€์ƒ‰๋˜๊ฒŒ ํ•œ๋‹ค. โ€‹ ์šฐ์„  SearchBar ์— ์ž๋™์œผ๋กœ ๋‚˜์˜ค๋Š” ์ฃผ์†Œ๋ฅผ ํด๋ฆญ์‹œ ๋กœ์ผ€์ด์…˜์ด searchedLocation ์œผ๋กœ ์ €์žฅ๋จ { console.log("์œ„์น˜์„ค์ •"); searchedLocation(details?.geometry?.location); }} โ€‹ searchedLocation์€ props๋กœ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ HomeScreen ์—์„œ ๊ฐ€์ ธ์˜ด ์ด๋•Œ HomeScreen์˜ searchedLocation์„ ์ด๋ฆ„์—†๋Š” ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š”๋ฐ ์ด๋•Œ (์œ„์น˜)๋ฅผ ์ž…๋ ฅ์‹œ ๊ทธ ์œ„์น˜์˜ ์œ„๋„ ๊ฒฝ๋„๋ฅผ ๋กœ์ผ€์ด์…˜์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋กœ์ผ€์ด์…˜์—์„œ ๋ฐ˜๊ฒฝ 5km์œผ๋กœ ์ถฉ์ „์†Œ๋ฅผ ์ฐพ์•„์„œ ์•ฑ์˜ ํ™”๋ฉด์ด ์žฌ..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ์ถฉ์ „์†Œ ๋ฆฌ์ŠคํŠธ ๋ณด์—ฌ์ฃผ๊ธฐ
ยท
FRONTEND/ReactNative
GlobalApi.js์—์„œ shortFormattedAddress์ถ”๊ฐ€ํ•˜๊ธฐ "places.evChargeOptions", "places.shortFormattedAddress", "places.photos", PlaceListView.jsx ์ƒ์„ฑ import { View, Text } from 'react-native'; import React from 'react'; export default function PlaceListView({placeList}) { return ( PlaceListView ); } HomeScreen.jsx ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋กœ palceList ์Šคํ…Œ์ดํŠธ๋ฅผ ๋งŒ๋“ฌ const [placeList, setPlaceList] = useState([]); //๊ตฌ๊ธ€๋งต ์„œ๋ฒ„์—์„œ ๋ฐ›์€ resp.dat..
React Native/๊ฐœ๋…[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ
ยท
FRONTEND/ReactNative
https://console.cloud.google.com/welcome/new?project=linear-rig-414323 Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ๋กœ๊ทธ์ธ Google ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋™ accounts.google.com ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ๋ฌด๋ฃŒ ์‹œ์ž‘ํ•˜๊ธฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ๋กœ apiํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค. ์‚ฌ์šฉ์„ค์ •๋œ API ๋ฐ ์„œ๋น„์Šค ์—์„œ ๊ฒ€์ƒ‰์œผ๋กœ ๋‘ ๊ฐœ ์‚ฌ์šฉ ํด๋ฆญํ•œ๋‹ค. envํŒŒ์ผ ์ถ”๊ฐ€ํ•ด์„œ apiํ‚ค ๋ถ™์—ฌ๋„ฃ๊ธฐํ•œ๋‹ค. Seacrbar์— ์ ์šฉ import { View, Text } from "react-native"; import { GooglePlacesAutocomplete } from "react-native-google-places-autocomplete"; import React..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] clerk ์‚ฌ์šฉ jwt ํ† ํฐ
ยท
FRONTEND/ReactNative
์‚ฌ์šฉ ์„ค๋ช…์„œ์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•œ๋‹ค. App.js์—์„œ ์„ค์น˜ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ importํ•ด์ค€๋‹ค. import * as SecureStore from "expo-secure-store"; ํ† ํฐ์„ ๋ฐ›์•„์™€์„œ ํ•จํ˜ธํ™”ํ•˜๊ณ  ์ €์žฅํ•œ๋‹ค ClerkProvider์— ์ถ”๊ฐ€ํ•œ๋‹ค const tokenCache = { //clerk jwt ํ† ํฐ์„ ๋ฐ›์•„์„œ ํ•จํ˜ธํ™” async getToken(key) { try { return SecureStore.getItemAsync(key); } catch (err) { return null; } }, //์•”ํ˜ธํ™” ๋œ ํ† ํฐ ์ €์žฅํ•˜๊ธฐ async saveToken(key, value) { try { return SecureStore.setItemAsync(key, value); } catch (err..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ๋กœ๊ทธ์ธ ๊ตฌ๊ธ€ ์ธ์ฆ -clerk ์‚ฌ์šฉ
ยท
FRONTEND/ReactNative
https://clerk.com/ https://undraw.co/illustrations Illustrations | unDraw The design project with open-source illustrations for any idea you can imagine and create. Create beautiful websites, products and applications with your color, for free. undraw.co ์ด๋ฏธ์ง€ ์ฐธ๊ณ  ํŒŒ์ด์–ด ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์ธ์ฆ์„ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ์Œ Clerk | Authentication and User Management The easiest way to add authentication and user management t..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ์Šคํ”Œ๋ž˜์‰ฌ ์Šคํฌ๋ฆฐ
ยท
FRONTEND/ReactNative
assets -> fonts -> images ์— ์ด๋ฏธ์ง€ ์ €์žฅ ์ƒˆ ํด๋” ์ƒ์„ฑ App -> Screen ๋ฐ ํŒŒ์ผ ์ƒ์„ฑ LoginScreen.jsx rnf ์ž…๋ ฅ ํ›„ ์—”ํ„ฐํ•˜๋ฉด ์ž๋™์ƒ์„  import { Text, View } from 'react-native' import React, { Component } from 'react' export default class LoginScreen extends Component { render() { return ( LoginScreen ) } } โ€ป Splash ์ด๋ฏธ์ง€๋ž€? ์•ฑ์„ ์‹คํ–‰ํ•˜์˜€์„ ๋•Œ ์•ฑ ๋กœ๋”ฉ๋˜๋Š” ์‚ฌ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋งํ•œ๋‹ค. ๋ณดํ†ต ์•ฑ์ด ๋กœ๋”ฉ ์ค‘์ผ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. Expo ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ Splash ์ด๋ฏธ์ง€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ..
[์ „๊ธฐ์ฐจ ์ถฉ์ „์†Œ ์ฐพ๊ธฐ ์•ฑ/ReactNative] ์ปค์Šคํ…€ ํฐํŠธ ์ ์šฉํ•˜๊ธฐ
ยท
FRONTEND/ReactNative
https://blog.naver.com/drv983/223316019428 ์ปค์Šคํ…€ ํฐํŠธ https://docs.expo.dev/versions/latest/sdk/font/ https://docs.expo.dev/versions/latest/sdk/splash-scr... blog.naver.com https://docs.expo.dev/versions/latest/sdk/splash-screen/ SplashScreen A library that provides access to controlling the visibility behavior of native splash screen. docs.expo.dev font์™€ splashScreen์„ ์„ค์น˜ํ•œ๋‹ค. splashScreen์€ ๋กœ๋”ฉ ์‹œ ๋‚˜ํƒ€๋‚˜๋Š” ..
ใ„ด