일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩교육
- 자바
- 패캠reactnative
- 패캠
- 패캠챌린지
- 패스트캠퍼스후기
- 30개프로젝트로배우는iOS앱개발withSwift초격차패키지Online.
- fastcampus
- 코딩자격증
- 파이썬
- 오공완
- 수강료0원챌린지
- 환급챌린지
- reactnative강의
- 직장인자기계발
- 직정인자기계발
- 패캠강의후기
- 직장인인강
- 직장인공부
- 패스트캠퍼스
- 패캠인강후기
- 코딩테스트
- 자바스크립트
- Today
- Total
라티의 작은 일기장
패스트캠퍼스 환급챌린지 26일차 미션(2월 26일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기 본문
패스트캠퍼스 환급챌린지 26일차 미션(2월 26일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기
코드라티 2024. 2. 26. 23:26
오늘은 토스앱 3시간 만에 만들기 섹션의 마지막 파트를 수강하는 날이다. 얼마 안 남았으니 힘내서 잘 끝내보자!
일반적인 앱의 설정 화면이 으레 그렇듯 토스도 설정 화면의 형태 자체는 스크롤이 가능한 리스트뷰의 형태를 갖는다.
그래서 오늘 배울 중요한 내용들은 화면을 구현하는 방법 보다는 설정값들을 디바이스에 저장하고, 다양한 설정값들을 어떻게 상태관리하는지... 이런 것들이 주를 이룬다.
강의를 계속 들어보니까 설정 화면을 그대로 클론하는 것이 아닌, 설정 화면에서 활용할 수 있는 위젯을 구현하는 방법과 그 설정값 상태를 어떻게 관리하는지에 대한 내용이 나온다. 나도 수강생 입장에서 이런 내용들이 더 중요하다고 생각한다. 굿굿
간단하게 푸시 알림 설정을 관리하는 메뉴를 만든다고 해보자. 그럼 형태는 아래와 같을 것이다.
여기서 저 Switch가 관리하는 상태, 가령 'isAllowed'는 어디에 선언되어야할까?
Switch 내부에 선언되어야할까? 그럼 편하긴 하겠지만 해당 상태를 Switch 위젯을 포함하고 있는 상위 위젯의 차원에서 알기 힘들다는 단점이 있다.
그럼 위와 같은 경우엔 Container에 선언되는게 적합한 것이다.
그럼 Switch는 Container에서 상태와 해당 상태를 변경할 수 있는 Setter 함수를 내려받아서 활용할 수 있고, 상태 자체는 Container에서 선언되어있으니 Switch가 해당 상태를 변경하면 상위 위젯에서 변경을 감지할 수 있게 된다.
추가로 Switch는 OS에 따라 디자인 가이드가 살짝 다른데(Material, Cupertino), 만약 OS에 따라 다른 디자인 가이드에 따른 Switch를 보여주고 싶다면 Switch 영역에 Switch를 감싸는 Wrapping 클래스를 만들고, 아래와 같이 플랫폼에 따라 다른 Switch를 반환해주면 된다.
return Platform.isIOS ? CupertinoSwitch() : Switch()
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.