[flutter] 부모 → 자식 State Data 전달

봉구마·2022년 4월 12일
0

Flutter

목록 보기
3/6

flutter 안에서는 State관리가 최고로 중요하다.
처음에는 Android와 iOS와는 다른 life cycle에 살짝 당황했던...

이제 적어도 Parent Widget(부모위젯)이 child Widget(자식위젯)에게 State Data 전달해주는 부분은 파악하여 공부한대로 적어보려고 한다 :)_

부모 → 자식 stateData 넘겨주기

먼저, StatefulWidget을 상속받은 Parent Widget에서 아래와 같이 데이터를 child Widget으로 넘긴다.

var childData = "자식으로 넘겨줄 데이터입니다.";
.
.
ChildWidget(data: childData);

이렇게 넘겨주면 child Widget 안에서 Text 찍어보는 방식은 아래와 같다.

class ChildWidget extends StatefulWidget {
	final String childData;	// 자식위젯 안에서는 데이터를 변경해줄 일이 없으니까 final로 선언한다.

	ChildWidget(this.childData);
    
    @override
    ChildWidgetState createState() => ChildWidgetState();
}

class ChildWidgetState extends State<ChildWidget> {
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Text(widget.childData);
    );
  }
}

Child Wdiget에 있는 childData에 접근하기 위해서는 widget.childData로 불러와야한다.

그러면 Parent Widget에서 childData에 대한 setState() 함수가 호출이 되어도 바뀐 데이터를 Child Widget 안에서 확인할 수 있다.

잘 못 알고 있는 부분이나 추가적으로 알면 좋은 부분에 대해선 댓글로 알려주세요 :(

profile
flutter 햇병아리 개발자

0개의 댓글