Flutter에서 간단하게 팝업 형식으로 화면을 띄워주는 AlertDialog.
해당 기능을 활용하면 유저의 주의를 환기시키며 새로운 정보를 제공할 수 있다.
이 창은 간단하게는 유저에게 새로운 정보제공을 하는 창으로 쓸 수도 있고, 선택을 할 수 있게 버튼들을 제공해줄수도 있다.
나의 경우에는 체크박스를 제공하고 이를 클릭하여 동의를 하는 부분을 구현하고자 하였다.
Dialog 내부에 체크박스를 넣은 후 아무리 클릭을 해도 체크박스는 반응이 없었다.
공식 문서를 아무리 살펴봐도 CheckBox의 활용 방법은 내가 한 방법이 맞았고, Dialog 외부에서는 정상 작동함을 확인할 수 있었다.
고민에 고민을 하다가 떠올린 결론은 간단했다.
아. AlertDialog 이거 Stateless 인가보다.
그래서 조금 서칭을 하고 StatefulBuilder로 감싸주니 Dialog 내부에서도 정상적으로 체크박스가 동작함을 확인할 수 있었다.
return StatefulBuilder(builder: (context, setState) {
return AlertDialog( Dialog 내용. 생략...
위와 같은 방식으로 StatefulBuilder 로 감싸주면 된다.
Flutter의 새로고침은 State를 통해 이루어진다는 것을 다시금 느낄 수 있었다.