1. Provider ํ๋ฌํฐ์๋ Stateless์ Stateful ์์ ฏ์ด ์กด์ฌํ๋๋ฐ Stateful์์ ฏ์ ์ฌ์ฉํ์ฌ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ค๋ฉด, ์ด๋ฅผ ํ๋ฉด์ ๋ฐ์์ ํด์ฃผ์ด์ผ ํ๋๋ฐ ์ด๋ setstate(){}๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ํ๋ฉด์ ์
๋ฐ์ดํธ๋ฅผ ์์ผ์ค ์๊ฐ ์๋ค. 1. Stateless๋ Constructor์ด ์์ฑ๋๊ณ ์์ฑ๋์๋ง์ build ํจ์๋ฅผ ์คํํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ผ์ดํ ์ฌ์ดํด๋์ ํ๋ฒ๋ง ์คํ๋๋ค -> ๊ทธ ํ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅ 2. Stateful ์์ ฏ์ Constructor์ด ์คํ๋๊ณ ๋ ํ createState๊ฐ ๋ถ๋ฆฌ๊ฒ ๋๋ค. ๋ง์ฝ ํ๋ผ๋ฏธํฐ๊ฐ ๋ณ๊ฒฝ์ด ๋๋ค๋ฉด ํธ์ถ์์๋ 1 -> didUpdateWidget -> 5 -> 6 -> 7 ํ์ง๋ง setState๋ state๋ด๋ถ์์ ์งํ๋๊ธฐ ๋๋ฌธ์ ํธ์ถ์์๋ setSt..
Flutter/์ผ๋ฐ
์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ์๋ฎฌ ํธ๋ํฐ ์๋จ์ ๊ธ์จ ์๊น์ด ํฐ์์ด๋ผ ์ ์๋ณด์ผ๋๊ฐ ์๋ค. build ๋ถ๋ถ ๋ฐ์ SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark); ์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๊ฒ์์์ผ๋ก ๋ณ๊ฒฝ ํ ์ ์๋ค.
๋๋ ์๋ฌด ์๊ฐ์์ด ์ฝ๋ฉํ ๋ ์ฃผ๋ก asset์ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๊ณค ํ๋ค. ๊ทธ๋ด๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์์ ๊ฐ์ ์์ผ๋ก ์ซ์๋ง ๋ฐ๋๊ณ ๋๊ฐ์ ์ฝ๋๋ฅผ ์ค๋ณตํด์ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ์ ์ฝ๋์ ๊ฐ์ด Mapํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋งค์ฐ ๊น๋ํ๊ฒ ์ฝ๋๋ฅผ ์ ๋ ฌํ ์ ์๋ค. ๋ค๋ง ์ฃผ์ํด์ผํ ์ ์ผ๋ก๋ ๋ฐ๋์ ํ์
์ .toList()๋ก ๋ง๋ค์ด์ฃผ์ด์ผ ํ๋ค. ๊ทธ ์ด์ ๋ก๋ children์ ๋ฐํํ์
์ List์ด๋ค. Map์ Iterableํ์
์ด๋ฏ๋ก .toList()๋ฅผ ํตํด Listํ์์ผ๋ก ๋ฐ๊พธ์ด ์ฃผ์ด์ผ๋ง ์๋ฌ์์ด ์ฌ์ฉํ ์ ์๋ค.
๋๋ ํ๋ฌํฐ๋ฅผ ๋ฐฐ์ธ๋ Navigator.of(context).push()๋ฅผ ํตํด ๋จ์ ํ์ด์ง ์ ํ๋ง ๋๋์ค ์์๋ค. ํ์ง๋ง ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋์ค PageRouteBuilder๋ฅผ ํตํด ์ ํ์ ์ข๋ ๋
ํนํ๊ฒ ํ ์ ์๋ค๋๊ฒ์ ์์๋ค. ์ฌ์ฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค. Route _createRoute() { return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => const Page2(), transitionsBuilder: (context, animation, secondaryAnimation, child) { const begin = Offset(0.0, 1.0); const end = Offset.zero; final twee..
์ ์ค์ฒ๋ฅผ ๊ฐ์งํ๋ ์์ ฏ์
๋๋ค. NULL์ด ์๋ ์ฝ๋ฐฑ์ ํด๋นํ๋ ์ ์ค์ฒ๋ฅผ ์ธ์ํฉ๋๋ค. ์ด ์์ ฏ์ ์์์ด ์์ผ๋ฉด ํฌ๊ธฐ๋ ํด๋น ์์์ ๋ฐ๋ฅด๊ณ ๋ง์ฝ ์์์ด ์์๊ฒฝ์ฐ ๋ถ๋ชจ์ ๋ง์ถฐ์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ฉ๋๋ค. https://api.flutter.dev/flutter/widgets/GestureDetector-class.html ์ฌ์ฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. ์ฌ์ฉํ๋ ค๋ Gesture ์์ฑ์ ์ ํํ๊ณ ์ด๋ค ๋์์ ํ ์ง ์ ์ธํ๋ฉด ๋ฉ๋๋ค. import 'package:flutter/material.dart'; void main() => runApp( MaterialApp( home: HomeScreen(), ), ); class HomeScreen extends StatefulWidget { const HomeScreen({super.k..