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์กฐ๋ ์๊ฐ์ด๋ ํ๋์ ๊ฐ์ ํ์ง ์์ง๋ง ๊ฒฐ๊ณผ๋ฌผ์ ๋ํ ํผ๋๋ฐฑ ์์ฃผ๋ก ์์ ๋กญ๊ฒ ์งํํ ์์
๊ธฐ์ต์ ๋จ๋ ๊ฒ :
- ์์ค๋๊ป์ ์ฃผ์ ๋ฏผ์ด๐