- [flutter] StatelessWidget 및 StatefulWidget 목차
1. stateless 위젯과 stateful 위젯의 차이점은 ?
- stateless 윗젯은 child 위젯들의 변화나 내부 데이터의 변화를 즉각적으로 UI에 반영할 수 없다
반영할 수 있는 방법은 hot reload 등으로 build를 다시 수행하는 방법이 있다
- statefull 위젯은 앱내의 변화를 setState(() {})를 사용하여 UI에 즉각 반영할 수 있다
이는 내부적으로 필요한 부분에 대한 rebuild를 flutter가 수행하는 것이다.
2. stateless 위젯
class MyApp extends StatelessWidget {
int _counter = 0;
.................
floatingActionButton: FloatingActionButton(
onPressed: ( ) {
_counter++,
}
=> 버튼을 누르면 내부적으로 _counter 값은 증가하나, UI에 반영되지 않는다
3. statfull 위젯
1) class MyApp extends StatefullWidget {
@override
MyAppState createState() => MyAppState( );
또는
@override
State<StatefulWidget> createState( ) {
return MyAppState( );
}
=> StatefullWidget 타입을 입력으로 받아서 State 타입을 return하라
MyApp을 받아서 MyAppSate( ) 생성자의 인스턴스를 return 한다
2) class MyAppState extends State<MyApp> { <= MyApp과 MyAppState의 관계를 알려준다
int _counter = 0;
.................
floatingActionButton: FloatingActionButton(
onPressed: ( ) {
setState( ( ) {
_counter++,
});
3) 1)과 2)가 모두 수행이 되어야 MaApp과 MyAppState 클래스 사이 관계가 형성되면
실제적 수행은 MyAppState Class에서 수행한다.
'flutter' 카테고리의 다른 글
Carousel - 이미지 슬라이더 만들기 (0) | 2020.09.06 |
---|---|
[flutter] vscode에서 extension 삭제 (0) | 2020.08.22 |
[flutter] 호출하는 class에서 호출되는 class로 데이터 전달하기 (0) | 2020.08.16 |
[Flutter] 함수 호출 에러 (0) | 2020.08.09 |
[flutter] Invalid depfile: 에러 (0) | 2020.08.09 |