๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ ๐Ÿพ 64

React์—์„œ Router state ์‚ฌ์šฉ

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• router์—์„œ navigate๋กœ ์ด๋™์‹œ state์— ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๊ฐ’์„ ๋„˜๊ฒจ์„œ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ parameter ๋ฐฉ์‹๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋”ฐ๋กœ router url ๋’ค์— ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋˜๊ณ , url์— ๋„˜๊ธฐ๋Š” ๊ฐ’์ด ๋…ธ์ถœ ๋˜์ง€ ์•Š์•„์„œ ์ข‹์•˜๋‹ค. // ๋ณด๋‚ผ๋•Œ navigate(URL, {state: {id: "user1"}}) // ๋ฐ›์„๋•Œ import {useLocation} from "react-router"; const location = useLocation(); const id = location.state ? location.state.id : null; //

React amchart ๋ฅผ ํ•˜๋ฉด์„œ~!

๋ฒ„์ „์€ amchart5 ๋กœ ์ง„ํ–‰ ํ–ˆ๋‹ค. ๋งŽ์ด ์“ฐ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ ๋งŒํผ ๋ฏธ๋ฆฌ ์ •๋ฆฌ๋ฅผ ํ•ด๋‘์–ด์„œ ์ถ”ํ›„์—๋Š” ๊ฐ™์€๊ฑธ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œ ์‹œ๊ฐ„๋‚ญ๋น„๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋‚˜์”ฉ ๋‚˜์˜ฌ๋•Œ๋งˆ๋‹ค ์ •๋ฆฌ๋ฅผ ํ•ด๋‘์–ด์•ผ ๊ฒ ๋‹ค. 1. axis์˜ x, y ์ปฌ๋Ÿผ์‚ฌ์ด์ฆˆ ์กฐ์ • ๋ฐ์ดํ„ฐ๋Š” 4๊ฐœ์ธ๋ฐ, ํ™”๋ฉด์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘๋‹ค๋ณด๋‹ˆ amchart์—์„œ ์ž๋™์œผ๋กœ 2๊ฐœ๋งŒ label ์„ ํ‘œ์‹œํ•˜๋Š” ํ˜„์ƒ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ x์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ ํ•ด์ฃผ๋Š” ์˜ต์…˜์ด ์žˆ์„๊บผ ๊ฐ™์•„์„œ ์—ด์‹ฌํžˆ width๋‚˜ min, max ๋ฅผ ์—ด์‹ฌํžˆ ์ฐพ์•„๋ณด์•˜๋Š”๋ฐ, ์ •๋‹ต์€ render๋ฅผ ํ• ๋•Œ ์ตœ์†Œ grid distance ๊ฐ’์„ ์กฐ์ •ํ•ด์ฃผ๋ฉด ๋˜์—ˆ๋‹ค~ ๐Ÿ˜ฅ x๋ฟ๋งŒ์•„๋‹ˆ๋ผ y์˜ ๊ฐ’์„ ์กฐ์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ y์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๋•Œ ๊ฐ™์€ ์˜ต์…˜๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค~ let xAxis = chart.xAxes.push( am5xy.Ca..

screenOptions๋กœ ํ—ค๋” ๊พธ๋ฏธ๊ธฐ

react-router๋กœ ๊ตฌ์กฐ๋ฅผ ์งœ๊ณ  ๋‚˜๋ฉด ์ž๋™์œผ๋กœ ํ—ค๋”์— name์ด ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ํฐ์ƒ‰์— ๊ฒ€์€ ๊ธ€์”จ๋กœ ๋˜์–ด์žˆ๋‹ค. ์ด๋ฅผ ์ปค์Šคํ…€ํ•˜๊ธฐ ์œ„ํ•ด screenOption๊ฐ’์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ๊ณตํ†ต์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด Stack.Navigator์— ์ผ๊ด„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ™์€ navigator์— ์žˆ๋Š” screen๋“ค์„ group์œผ๋กœ ๋ฌถ์–ด์„œ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•ด ์ค„ ์ˆ˜ ๋„ ์žˆ๋‹ค. 1. ๊ณตํ†ต์œผ๋กœ ์˜ต์…˜ ์ฃผ๊ธฐ title์„ ์˜ต์…˜์— ๋„ฃ๊ฒŒ ๋˜๋ฉด, HomeStack.Screen ์•ˆ์— name ๋Œ€์‹  HomeStack.Navigator ์•ˆ์˜ title์„ ๋ณด์—ฌ์ค€๋‹ค. ์Šคํƒ€์ผ์€ headerStyle ์•ˆ์— ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. 2. ํŽ˜์ด์ง€๋ณ„๋กœ ๊ฐ๊ฐ ์ฃผ๊ธฐ ํŽ˜์ด์ง€๋ณ„๋กœ ๊ฐ๊ฐ ์ปค์Šคํ…€์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Stack.Group์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. he..

React Router

- react navigation: https://reactnavigation.org/docs/getting-started/ - ๋‹ค์Œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. "@react-navigation/native": "^6.0.11", "@react-navigation/stack": "^6.2.2", ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” react-navigation์€ stack ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. stack ๋ฐฉ์‹์€ ํด๋ฆญ์„ ํ–ˆ์„๋•Œ ํ™”๋ฉด์ด ํ•˜๋‚˜์”ฉ stack์— ์Œ“์ด๋Š”๋ฐ ๊ทธ์ค‘ ์ตœ์ƒ์œ„ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  back ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ตœ์ƒ๋‹จ์˜ ํ™”๋ฉด์„ ์ œ๊ฑฐํ•˜๋ฏ€๋กœ์จ ์ด์ „ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. * ์„ค์น˜ expo install @react-navigation/native expo install @react-navigation/stack..

[expo] ์›นํฐํŠธ webfont ์ ์šฉํ•˜๊ธฐ

์‚ฌ์‹ค expo ๊ณต์‹ ๋ฌธ์„œ์— ๋‹ค ๋‚˜์™€์žˆ๋‹ค. ๊ทผ๋ฐ ๊ณต์‹๋ฌธ์„œ ๋’ค์ง€๊ธฐ๋„ ๊ท€์ฐฎ์œผ๋‹ˆ ์ •๋ฆฌํ•ด ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ url : https://docs.expo.dev/guides/using-custom-fonts/ 1. ์„ค์น˜ @expo-google-fonts/inter ๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ด ์ค€๋‹ค. $ expo install expo-font @expo-google-fonts/inter 2. ์ ์šฉํ•  ํฐํŠธ ์ฐพ๊ธฐ https://fonts.google.com/ ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์›ํ•˜๋Š” ํฐํŠธ๋ฅผ ์ฐพ๊ณ  ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. ํ˜น์€ ์ด๋ฆ„๋งŒ ์•Œ์•„๋„ ๋˜๋Š” ๋ชจ์–‘์ด๋‹ค. ๋‚˜๋Š” ๋ˆˆ์— ๋„๊ฒŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•œ ํฐํŠธ๋ฅผ ์ฐพ์•˜๋‹ค. "Edu SA Beginner" ๋ผ๋Š” ๊ธ€์”จ์ฒด๋ฅผ ์ฐพ์•˜๋‹ค. 3. App์— component๊ฐ€ render๋˜๊ธฐ์ „์— ์ ์šฉํ•˜๊ธฐ import { u..

TextInput ์ž…๋ ฅ์‹œ Keyboard ์ฐฝ ๋‹ซ๊ธฐ

์ž…๋ ฅ์„ ํ•ด์•ผํ•˜๋Š” ํ™”๋ฉด์—์„œ TextInput์— focus ๊ฐ€ ๋˜๋ฉด ์ž๋™์œผ๋กœ Keyboard๊ฐ€ ์˜ฌ๋ผ์˜ค๋Š”๋ฐ, ์•„๋ฌด๊ณณ์ด๋‚˜ ํด๋ฆญํ–ˆ์„๋•Œ ์ด๋ฅผ ๋‹ค์‹œ ๋‚ด๋ ค๊ฐ€๊ฒŒ ํ•˜๊ณ ์‹ถ๋‹ค. TouchableWithoutFeedback, Keyboard ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. \ TouchableWithoutFeedback ํƒœ๊ทธ๋กœ ์ „์ฒด ์˜์—ญ์„ ๊ฐ์‹ผ๋˜ onPress ํ•จ์ˆ˜์— Keyboard.dismiss() ํ•จ์ˆ˜๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด์ œ๋œ๋‹ค. ์˜ˆ์ œ์ฝ”๋“œ) return ( { console.log('dismissed keyboard') Keyboard.dismiss() }}> ); } ์ƒ๊ฐ๋ณด๋‹ค ์ •๋ง ๊ฐ„๋‹จํ•˜๋‹ค. ์Šต๊ด€์ ์œผ๋กœ javascript๋กœ๋งŒ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ... ๊ทธ๋ƒฅ ์›ฌ๋งŒํ•˜๋ฉด ๋‹ค ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋œ๋‹ค. ํ—ˆํ—ˆ ๋จธ์“ฑ์ฝ”์“ฑ๐Ÿ™„

expo๋กœ ์‹œ์ž‘ํ• ๋•Œ ๊ธฐ๋ณธ ์„ค์ง€ ๋ชฉ๋ก ์ •๋ฆฌ

์ตœ๊ทผ์— ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๊ณต๋ถ€๋„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์•„์ง ์ดˆ๋ฐ˜์ด๋ผ ํ•ด๋งค๋Š” ์ค‘์ด์ง€๋งŒ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ธฐ๋ณธ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ช… ๋Œ€์‹  . ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. expo init (๋””๋ ‰ํ„ฐ๋ฆฌ๋ช…) expo init . ๋„ค๋น„๊ฒŒ์ด์…˜ ## react navigation : https://reactnavigation.org/ npm install @react-navigation/native expo install react-native-screens react-native-safe-area-context ( for expo ) - stack npm install @react-navigation/stack npm install react-native-gesture-handler ## icons : https:/..

[React-native] While trying to resolve module `idb` from file ...

firebase ์—ฐ๋™ ํ›„ ์‹คํ–‰์‹œ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. While trying to resolve module 'idb' from fileโ€ฆ.this package itself specifies a `main` module field that could not be resolved firebase ๋ฒ„์ „ ๋ฌธ์ œ์ธ๊ฒƒ ๊ฐ™๋‹ค. @9.6.11๋กœ ์žฌ์„ค์น˜ ํ•ด์ฃผ๋‹ˆ ์—๋Ÿฌ๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค. npm uninstall firebase npm install firebase@9.6.11 ์žฌ์„ค์น˜ ํ›„ ์žฌ์‹คํ–‰ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

TODOLIST ๋งŒ๋“ค๊ธฐ step by step - Vanilla JavaScript

๋ณธ ํฌ์ŠคํŒ…์€ javascript์— ์ž…๋ฌธํ•˜๊ณ ์ž ํ•˜๋ ค๊ณ  ํ• ๋•Œ ๊ฐ€๋ณ๊ฒŒ ํ•™์Šต ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚˜๋ฆ„์˜ ์ปค๋ฆฌํ˜๋Ÿผ์„ ์งœ๋ณธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. todo-list ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค๋ฅธ ๊ฒŒ์‹œ๊ธ€์ด๋‚˜ ์œ ํˆฌ๋ธŒ์—๋„ ๋งŽ์ด ๋‚˜์™€์žˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์ดˆ๋ณด์ž๊ฐ€ ์ข€ ๋” ์ ‘๊ทผํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ ๊ณผ์ •์„ ์ชผ๊ฐœ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ˆœ์„œ 1. ๊ธ€ ์ถ”๊ฐ€ํ•˜๊ธฐ 2. ๊ธ€ ์‚ญ์ œํ•˜๊ธฐ 3. ๊ธ€ ์ˆ˜์ •ํ•˜๊ธฐ 4. localStorage์— ์ €์žฅํ•˜๊ธฐ * html๊ณผ css๋Š” ๋Œ€์ถฉ ๋งŒ๋“ค์–ด ๋†“์•˜์Šต๋‹ˆ๋‹ค. (์ •๋ง ๋Œ€์ถฉ ใ…Ž..) ์ด ์†Œ์Šค๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ์ฐธ์กฐํ•˜์—ฌ ๋ฏธ๋ฆฌ ์†Œ์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ณธ ๋’ค, ์™„์„ฑ๋œ ์†Œ์Šค์™€ ๋น„๊ตํ•ด ๋ณด์„ธ์š”! 1. ๊ธ€ ์ถ”๊ฐ€ํ•˜๊ธฐ ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ๋ชฉ๋ก - input ์ž…๋ ฅ ํ›„ "ADD" ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํ•˜๋‹จ์— ์ถ”๊ฐ€ - input ์ด ๋นˆ๊ฐ’์ธ ๊ฒฝ์šฐ "ADD" ๋ฒ„ํŠผ ํด๋ฆญ์‹œ "๊ฐ’์„ ..

๋ฉ”ํƒ€๋งˆ์Šคํฌ ํ…Œ์ŠคํŠธ ๋„คํŠธ์›Œํฌ ํ™œ์„ฑํ™” + ํ…Œ์ŠคํŠธ ์ด๋”๋ฆฌ์›€ ๋ฐ›๊ธฐ (Ropsten)

์ฒ˜์Œ ๋ฉ”ํƒ€๋งˆ์Šคํฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด "์ด๋”๋ฆฌ์›€ ๋ฉ”์ธ๋„ท" ์ด์™ธ์— ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๋„ท์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋„ท์„ ํ™œ์„ฑํ™” ํ•ด์ค˜์•ผ์ง€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์„ค์ • > ๊ณ ๊ธ‰ > Show test networks ๋ฅผ ํ™œ์„ฑํ•ด ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•