-
Flutter 자식 위젯에서 부모 위젯 변수 접근(수정)하기 (함수사용)DEV/flutter (dart) 2023. 2. 2. 12:33
자식 위젯에서 부모 위젯의 변수를 접근 및 수정하려고 한다.
여러 방법이 있는데 여기서는 함수를 사용하여 변수를 수정하고자 한다.
결과적으로 방법은 다음과 같다.
1. 부모 위젯(ParentWidget)에서 State 처리 함수를 생성(Re-Rendering이 필요한 경우), setState() 함수를 통하여 값을 변경해 줄 것.
2. 부모 위젯에서 생성한 함수를 자식 위젯(ChildWidget)에 function parameter로 전달.
3. 자식 위젯에서 전달받은 function parameter를 등록함.
4. 자식 위젯에서 등록한 function을 상황에 맞게 실행.
(함수에 매개변수 추가 가능)
// 부모 위젯(ParentWidget) ...(대충 위젯 구성) var num = 0; // 변경할 변수 addNum() { // 변수를 변경하기 위한 함수, 자식 위젯(ChildWidget)에 전달하여 사용 setState(() { num++; }); } return ChildWidget(notifyParent: addNum); // 변수를 parameter로 넘겨주기 // 자식 위젯(ChildWidget) class ChildWidget extends ...Widget { // 부모에서 던진 function parameter 등록 () ChildWidget({Key? key, required this.notifyParent}) : super(key: key); final notifyParent; // notifyParent 사용가능! ... TextButton(onPressed: (){ notifyParent(); } ... }
'DEV > flutter (dart)' 카테고리의 다른 글
Flutter 자식 위젯에서 부모 위젯 함수에 매개변수 전달하기 (0) 2023.02.06 Fluuter Column 높이 (in AlertDialog) (1) 2023.02.02 Flutter 부모 위젯에서 자식 위젯에게 변수 보내기 (0) 2023.02.02 Flutter TextField, input(입력창) 역할을 하는 위젯 예시 (0) 2023.01.31 Flutter Dialog, AlertDialog 위젯 예시 (0) 2023.01.31