Flutter Stateless 애플릿은 무엇입니까?
Stateless 애플릿은 원래 어떤 프로그래밍 노트입니까
제가 Stateless 애플릿을 조사해 봤어요.
Flutter의 공식 문서를 읽을 때 의문용어와 기본 구조에 대한 이해를 정리한 프로그래밍 노트
이번 주제는 Stateless 애플릿입니다.
Flutter 공식 문서「write your first app」에 첫 번째 학자가 가장 먼저 쓴 코드에 대한 해설을 기술했다.
그중의voidmain()마지막 프로그래밍 노트에 대해 잠시 이해(실천적인 내용은 다시 공부하려고 한다).
이번에는 stateless 애플릿에 대한 이해를 깊이 있게 하고 싶습니다.솔직히 이 부근의 강좌는 모두 코드를 모방하여 쓴 것이지만stateless 애플릿과stateful 애플릿의 차이, 각자의 성질을 자신의 언어로 설명할 수 있느냐는 질문을 받으면 상당히 의심스럽다.이번에는 Stateless 애플릿의 프로그래밍 노트를 자신의 언어로 설명할 수 있도록 하기 위해서다.
이른바 Stateless widget
우선, 결론적으로 각종 문서나 자체를 통해 코드를 써 보았을 때stateless 애플릿 처리의 값은 변하지 않는다는 것을 알 수 있다.
StatelessWidget에서 처리하는 모든 값은 변경되지 않으며 속성을 변경할 수 없습니다.
모든 값은final값입니다.StatefulWidget에서는 애플릿이 생존하는 동안 변경된 값을 유지할 수 있으며 최소한 두 개의 레벨이 필요합니다.
State 클래스 인스턴스의 StatefulWidget 클래스 만들기
State 등급
StatefulWidget 클래스 자체는 변하지 않지만 State 클래스 위젯의 존속 기간 동안 수치 > 를 유지합니다.
Fluter Doc JP Stateful 애플릿https://flutter.ctrnost.com/tutorial/tutorial05/ 2021/09/06 참조
하지만 State란 무엇인가.State는 일본어로 "상태"를 의미합니다.RPG 등을 통해 캐릭터 능력을 확인할 수 있는'상태'도 같은 어원이다.
즉, stateless는 상태가 없고 상태가 없는 부품이다.초보자끼리'Stateless 애플릿=정적'을 기억해야 하는데, 이것은 잘못된 것 같지 않다하지만 이후에도 설명할 수 없는 것이 나타날 수 있다.
또한 Stateless 애플릿은 설명된 함수(애플릿을 그리는 함수)를 덮어쓰고 반환 값을 얻어 화면에 그립니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
appBar: AppBar(
title: const Text('Welcome to Flutter'),
),
body: const Center(
child: Text('Hello World'),
),
),
);
}
}
StatelessWidget은build 함수를 덮어쓰고build 함수에 그려진 Widget을 되돌려줍니다.하위 Widget Stateless Widget에서 사용하는 변수가 부모 Widget을 통해 변경되면 하위 Stateless Widget은 모두 다시 그려집니다.
TECHRISE [Fluter 입문] Stateless Widget과 Stateful Widget의 차이https://tech-rise.net/difference-between-stateless-widget-and-stateful-widget/#:~:text=StatelessWidget는 State(상태, 상태)라고 할 수 있습니다.는 2021/09/06에 인용
Staless 위젯의 함수를 덮어쓰는 것에 대한 설명은 "@override"를 이해할 필요가 있다고 생각합니다.
한 마디로 하면 Stateless 애플릿이 호출하는 함수는 그릴 내용을 반환값으로 되돌려야 한다.흔히 볼 수 있는 것은build 함수의 MaterialApp과 Scaffold이다.이것들은 먼저 돌아오지 않으면 오류가 발생할 수 있다.
초보자의 가설
그리고 알아차렸어요.
아, Stateful widget이란 사람은 자기도 반이잖아.
따라서 MyApp은 Stateless를 계승하고 그 성격을build()에 덮어씌운다.
Stateless를 계승한 학급은 Stateless의 기술 규칙에 따라 쓰지 않으면 오류가 발생할 수 있다.즉, Stateful도 부모급으로 사용하기 때문에 같은 규칙과 써야 할 것들이 있는 거죠.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
appBar: AppBar(
title: const Text('Welcome to Flutter'),
),
body: const Center(
child: Text('Hello World'),
),
),
);
}
}
초보자의 이해 깊은 프로그래밍 노트• 이해 extends
/ voidmain () 은
Reference
이 문제에 관하여(Flutter Stateless 애플릿은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/semapho/articles/9fab83b65c78ce텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)