이터널리턴 - openDrawer()

2023. 10. 28. 22:49플러터

한동안은 이터널리턴 앱을 만들면서 필요하다 생각되는 부분들은 블로그에 올리면서 지내고자 한다.

목표도 만들었기에 바로 시작하겠다.

 

큰 틀 개발 도중 appbar에서 openDrawer()를 이용하여 햄버거 메뉴 아이콘 클릭 시

Scaffold.of(context).openDrawer()를 사용했으나, 에러가 생기게 되는데

찾아보게되니 위의 방식으로 사용하게 될 경우 scaffold 위젯을 못 찾아오게되어 생기는 에러라고 한다.

그렇기에 키값을 직접 주어 찾아올 수 있도록 만들어야 하는데 이 방법이

final scaffoldKey = GlobalKey<ScaffoldState>();

위의 변수를 전역변수로 빼서 사용하는 것이다.

이후 Scaffold.of(context)를

scaffoldKey.currentState

위의 코드로 변경하여 적어주면 동작하게 된다.

참고로 그냥 사용할 경우 빨간 줄이 나오게 되므로 State뒤에 ?를 적어주면 해결된다.

 

'플러터' 카테고리의 다른 글

디버그 리본 제거  (0) 2023.10.29
안드로이드 스튜디오 extract 단축키  (0) 2023.10.28
이미지 관련 이슈  (0) 2023.10.20
Row, Column과 mainaxisalignment, crossaxisalignment에 대해  (0) 2023.10.16
픽셀 오버플로우  (0) 2023.10.12