티스토리 뷰
반응형
유튜브에서 본 코드를 따라서 사용하다가, scaffoldKey를 생성하던데, 이걸 어디다 쓰는지 모르겠다.
var scaffoldKey = GlobalKey<ScaffoldState>();
이렇게 선언하고 있는데, 전역(scaffold 아래의 어느 위젯에서든)으로 scaffold의 state를 쉽게 참조 할 수 있게 해주는 듯해보이다. 하지만 정확하게 이해하기 위해 구글링을 더 해보았다.
https://stackoverflow.com/questions/68993864/scaffold-key-what-the-purpose-is-and-where-it-is-used
위의 질문자도 나랑 같은 부분이 궁금했나보다. 그런데 제대로 된 답변이 아직 안달려있다.
Scaffold.of( ) 를 사용하는 대신 GlobalKey의 curretState 메소드를 이용해서 ScaffoldState를 얻을 수 있기에, 덜 우아하지만 더 편리한 방법이라고 한다.
그렇다면 GlobalKey는 뭐하는 놈이냐~!! 찾아보자.
위의 블로그 글에서 맨아래부분에 가면 GlobalKey에 대한 정보가 있다. 그리고 위의 블로그 글은 아래의 미디엄에 게재된 원문을 해석한 글이다.
https://medium.com/flutter/keys-what-are-they-good-for-13cb51742e7d
GlobalKey는 2가지 사용목적이 있습니다. 첫 번째는 위젯이 상태를 잃지 않으면서 부모를 바꿀 수 있도록 해줍니다. 두 번째는 특정 위젯의 정보를 완전히 다른 위젯트리에서 접근가능하게 해줄 수 있습니다. 첫번째 목적에 대한 예시로는, 서로 다른 2개의 화면에서 동일한 위젯을 동일한 상태를 유지하면서 보여주어야 할 때 GlobalKey를 사용하게 됩니다. 두번째의 경우에는 비밀번호는 검사하고 싶은데 해당 상태 정보를 트리의 다른 위젯과 공유하고 싶지 않을 때 사용할 수 있습니다. GlobalKey는 테스트를 진행할 때도 유용하게 사용됩니다. GlobalKey를 사용하여 특정 위젯과 그 상태정보를 추적하고 테스트할 수 있습니다.
항상 그런건 아니지만 GlobalKey는 전역 변수와 유사한 면이 있습니다. 대게는 상태를 공유하고 조회할 수 있는 더 나은 방법이 있습니다. 예를들어 InheritedWidget을 사용하거나 또는 Redux나 BLoC 패턴을 이용하는 것이 있습니다.
라고 한다.
반응형
'Dart & Flutter > 궁금했던 것, 몰랐던 것' 카테고리의 다른 글
Responsive design에 사용하기 좋은 위젯, 패키지 (0) | 2021.12.24 |
---|---|
Container, SizedBox, Stack, Column, Row의 특징 (0) | 2021.12.22 |
Flutter: Failed to load network image (2) | 2021.11.16 |
flutter 2.5 이후 크롭(웹)에서 스크롤(Scroll) 안되는 문제 (0) | 2021.11.05 |
Failed to create server socket 에러 해결방법 (0) | 2021.07.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Chrome
- 크롬
- addPostFrameCallback
- Bluetooth
- 문제 해결
- 에러
- position
- 앱개발
- BLE
- Syncfusion
- SizedBox
- TextField
- IOS
- TextFormField
- DART
- 앱 프로그래밍
- 한빛미디어
- UI
- 인사이트
- 플러터
- plugin
- 디자인
- 다트
- error
- 앱
- firebase
- UX
- hide
- Flutter
- 이미지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함