FlutterStudy1th-Week3

Henry Choยท2023๋…„ 8์›” 23์ผ
0

flutterStudy1th

๋ชฉ๋ก ๋ณด๊ธฐ
3/10

3์ฃผ์ฐจ(23.08.16~22)

๐Ÿ’– ํ•ต์‹ฌ 3์ค„ ์š”์•ฝ

  • ์ฒซ ํ‹ฑํ†ก ์ฑŒ๋ฆฐ์ง€์˜ ๋‚œ์ด๋„๋Š” ๋‚˜์˜์ง€ ์•Š๋‹ค.
  • ํ•˜์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ๋ฏธ๋ฆฌ ํ•˜๋Š” ์Šต๊ด€์„ ๊ธฐ๋ฅด์ž
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ฐ•์˜ ๋“ฃ๊ธฐ๋ฅผ ์‹œ์ž‘(?)์€ ํ–ˆ๋‹ค.

๐ŸŽฏ ์ด๋ฒˆ ์ฃผ ๋ชฉํ‘œ

  • ์ฒซ ํ‹ฑํ†ก ์ฑŒ๋ฆฐ์ง€ ๋ฌด์‚ฌ ์™„๋ฃŒ

๐Ÿ‘ ์นญ์ฐฌํ•˜๊ณ  ์‹ถ์€ ์ 

๐Ÿ˜ญ ๊ณ ์น˜๊ฑฐ๋‚˜ ๋ฒ„๋ ค์•ผ ํ•  ์ 

  • ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋ฏธ๋ฃจ๋Š” ์Šต๊ด€

๐Ÿƒโ€โ™€๏ธ ์ผ์ผ ์Šคํ”„๋ฆฐํŠธ

23.08.16

  • โœ… Day10: State! ์ œ์ถœ
  • โœ… ๋งฅ๋ฏธ๋‹ˆ ์ˆ˜๋ฆฌ..

23.08.20

  • โœ… ์• ๋‹ˆ๋ฉ”์ด์…˜ 1๊ฐ• ๋“ฃ๊ธฐ
  • โœ… ๊ฐ•๋‚จ์—ญ ๋ชจ๊ฐ์ฝ” ์ฐธ์—ฌ
  • โœ… Day14: Movieflix ์ œ์ถœ

23.08.21

  • โœ… Day17: Onboarding Flow part 1 (2ํŽ˜์ด์ง€๊นŒ์ง€ ๊ตฌํ˜„)

23.08.22

  • โœ… Day17: Onboarding Flow part 1 (๊ธฐ๋Šฅ๊ตฌํ˜„ ์™„๋ฃŒ)

โœ๏ธ ์ด๋ฒˆ ์ฃผ ๋ฐฐ์šด ๋‚ด์šฉ:

  • Hero ๋Š” ๋™์ผ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ๋งŒ ์ ์šฉ๋œ๋‹ค. ์ด๋ฒˆ Day14: Movieflix ์—์„œ backdrop_path ๋ฅผ ํด๋ฆญ ์‹œ poster_path ๋กœ ๋„˜์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์„ Hero๋กœ ์‹œ๋„ํ•ด ๋ณด์•˜์—ˆ๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ ํด๋ฆญ ๋•Œ๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๊ณ  backward๋กœ ๊ฐ€๋Š” ๊ฒฝ์šฐ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ forward ๋กœ ํด๋ฆญํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ Hero๊ฐ€ ๋™์ž‘ํ–ˆ๋‹ค. ํ•œ๋ฒˆ ํด๋ฆญ์„ ํ•˜๋ฉด ์œ„์ ฏ ํŠธ๋ฆฌ์— ์žˆ๊ธฐ๋•Œ๋ฌธ์— tag๊ฐ’๋งŒ ๋น„๊ตํ•ด์„œ ์ธ์‹ ํ•ด์ฃผ๋Š” ๊ฒƒ ์ธ๊ฐ€?

  • Text ์— Hero ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ Text๋Š” Meterial์„ ์ƒ์†ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ถ‰์€ warning์ด ๋ฐœ์ƒํ•œ๋‹ค => Text ํ˜น์€ Hero์˜ child ์ „์ฒด๋ฅผ Meterial ๋กœ ๊ฐ์‹ธ์ฃผ์ž

๐Ÿค”ย ์งˆ๋ฌธ :

  • Day17: Onboarding Flow part 1 ์ˆ˜ํ–‰ ์‹œ Form state ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ customize ํ™”๋ฉด์—์„œ ๋™์˜๋ฅผ ๋ฐ›๊ณ  ๋‹ค์‹œ ๋Œ์•„์˜ค๋Š” ๋ถ€๋ถ„์˜ ๊ตฌํ˜„์ด ์• ๋งคํ•ด์„œ ์ผ๋‹จ์€ Riverpod ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. globalKey๋ฅผ ํ™œ์šฉํ•ด์„œ ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ๋งŒ prop ์œผ๋กœ ๋„˜๊ธฐ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์ด๋ฒˆ 3์ฃผ์ฐจ ์ฃผ๊ฐ„ ํšŒ์˜ ๋•Œ ๋ชจ๋ฒ”์‚ฌ๋ก€๊ฐ€ ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ•ด๋ณด์•„์•ผ ๊ฒ ๋‹ค.

๐Ÿ’– ์ฃผ๊ฐ„ ํšŒ์˜:

  • 2์ฃผ์ฐจ ์ฃผ๊ฐ„ ํšŒ์˜ ๋•Œ ๋ฐœํ‘œ๋ฅผ ํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ Map.eqaul์— ๋Œ€ํ•œ ์งˆ๋ฌธ๊ณผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ extension์— ๋Œ€ํ•œ ๊ณต์œ ๋ฅผ ํ–ˆ๋‹ค.
extension MapExtension<K, V> on Map<K, V> {
  bool equals(Map<K, V> other) {
    if (identical(this, other)) return true;
    if (length != other.length) return false;
    for (final key in keys) {
      if (!other.containsKey(key)) return false;
      if (other[key] != this[key]) return false;
    }

    return true;
  }
}

์กฐ๋ณ„ ํ™œ๋™:

  • ์กฐ์žฅ๋‹˜๊ณผ ์˜พ๊ฐ์ฝ”์—์„œ ๋งŒ๋‚˜ ์•ž์œผ๋กœ์˜ ์กฐ๋ณ„ ํ™œ๋™์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์–˜๊ธฐ๋ฅผ ๋‚˜๋ˆด๋‹ค.
  • 1์กฐ๋Š” ์‹œ๊ฐ„์ด๋‚˜ ํ™œ๋™์€ ๊ฐ•์ œํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ ์œ„์ฃผ๋กœ ์ž์œ ๋กญ๊ฒŒ ์ง„ํ–‰ํ•  ์˜ˆ์ •

๊ธฐ์–ต์— ๋‚จ๋Š” ๊ฒƒ :

  • ์‹œ์˜ค๋‹˜๊ป˜์„œ ์ฃผ์‹  ๋ฏผ์ดˆ๐Ÿ’•
profile
Full stack tech visionary

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด