문자열 쌍따옴표 불가능
Text("Hi") === x
Text('Hi') === o
Icon쓸 때 좋은 사이트
https://api.flutter.dev/flutter/material/Icons-class.html
아이콘이 어떻게 생겼는지 미리 보고 선택할 수 있어서 자주 사용함
Image는 따로 등록해서 사용햐야함
- Container === SizedBox랑 둘다 거의 같지만 성능상 SizedBox가 더 좋다고 함(못느낌)
- Row / Column
display:flex , flex-direction이랑 같은 개념- Scaffold()
상중하로 어플을 나눠줌home: Scaffold( appBar: AppBar(), body: Container(), bottomNavigationBar: BottomAppBar(), )
- ListView(스크롤)
위젯이 많다고 스크롤바가 생기는게 아님
스크롤이 생겨야 할 때 ListView()넣으면 됨장점 1. 스크롤 위치 감시 가능 2. 스크롤바 생김 3. 메모리 절약 가능(넘긴건 삭제시킨다캄)
- floatingActionButton
알아서 해보셈 이건floatingActionButton: FloatingActionButton( child: Text(a.toString()), onPressed: (){ a++; //+1해주세요 print(a); }, ),
일단 변수를 var로 선언함
근데 var안에 요소를 너무 많이 넣거나 기능을 많이 넣으면 성능상 이슈가 생김
그래서 안바뀌는 디자인 정도만 var사용해서 만듬
var로 성능 이슈가 생기기 때문에
커스텀 위젯이라는 걸 사용함(대충 React의 component 라고 생각하면 될듯)
근데 또 너무 많이 커스텀 위젯을 만들어 버리면 state관리가 힘들어지고 성능 이슈도 생기니까
재사용이 많이 되거나 큰 페이지 위주로 커스텀 위젯화 시킴
ListView.builder사용
ListView.builder( itemCount: 4, itemBuilder: (context, i){ return Text('안녕하세요'); }, ),
이렇게 넣으면 안녕하세요가 4번 출력됨
console에 나옴