정말 간단하게 설명하면 화면 변화가 '있느냐'와 '없느냐 '로 나눌 수 있다. StateFull
같은 경우, 위젯이 동작하는 동안 이벤트, 사용자의 상호작용으로 상태가 바뀐것을 바로 반영하는 동적인 위젯이고 , Stateless
는 그런 상호작용같은 것이 없으니 변할 일이 없다. 그래서 덕분에 렌더링이 StateFull
보단 더 빠를 수 밖에 없는 구조이다.
Scaffold
의 기본 뜻 부터 살펴봐야겠다. 공사장의 발판 혹은 건물의 골격을 의미하는데 Flutter
앱의 역할에서도 마찬가지 역할을 한다. 기본적인 앱에서 '디자인적인 뼈대'를 제공해주며 Scaffold
를 중심으로 다른 위젯들을 디자인할 수가 있다. 즉, 뼈대가 되는 위젯인 것이다.
(new) Scaffold Scaffold({
Key? key,
PreferredSizeWidget? appBar,
Widget? body,
Widget? floatingActionButton,
FloatingActionButtonLocation? floatingActionButtonLocation,
FloatingActionButtonAnimator? floatingActionButtonAnimator,
List<Widget>? persistentFooterButtons,
AlignmentDirectional persistentFooterAlignment = AlignmentDirectional.centerEnd,
Widget? drawer,
void Function(bool)? onDrawerChanged,
Widget? endDrawer,
void Function(bool)? onEndDrawerChanged,
Widget? bottomNavigationBar,
Widget? bottomSheet,
Color? backgroundColor,
bool? resizeToAvoidBottomInset,
bool primary = true,
DragStartBehavior drawerDragStartBehavior = DragStartBehavior.start,
bool extendBody = false,
bool extendBodyBehindAppBar = false,
Color? drawerScrimColor,
double? drawerEdgeDragWidth,
bool drawerEnableOpenDragGesture = true,
bool endDrawerEnableOpenDragGesture = true,
String? restorationId,
})
속성은 다음과 같다.
Children
위젯이 있다. '리스트'의 속성을 띄고있지만 정확히 그안에 무엇이들어가고 이용해야할지 기준은 아직 명확하진 못하다. 마찬가지로 const
의 사용도 그러하다. 스튜디오코드에서 문제점과 픽스제인으로 픽스를 할뿐 정확히 왜 그런 문제를 띄는진 잘 이해가 되질 않고있다.