widget.은 StatefulWidget과 State를 연결합니다.
보다 자세히 말하자면 widget.을 사용하여 StatefulWidget에 정의된 속성과 메서드에 접근할 수 있습니다.
StatefulWidget을 만들 때 생성되는 State 클래스는 해당하는 StatefulWidget의 인스턴스입니다.
부모가 트리에서 현재 구성과 동일한 runtimeType 및 Widget.key으로 업데이트하면 프레임워크는 이 속성을 업데이트하여 새 위젯을 참조한 다음 [didUpdateWidget]을 호출하고 이전 구성을 인수로 전달하면서 StatefulWidget의 메서드와 속성을 사용할 수 있게 되는 논리입니다.
예시
class Tx extends StatefulWidget {
// addHandler는 StatefulWidget의 메서드입니다.
final Function addHandler;
const NewTransaction({
required this.addHandler,
super.key,
});
State<NewTransaction> createState() => _TxState();
}
// _TxState는 Tx의 인스턴스입니다.
class _TxState extends State<Tx> {
void submitData() {
...
// widget.을 사용하여 부모에 접근하여 메서드를 사용할 수 있게됩니다.
// widget.은 부모에게 접근할 수 있는 권한입니다.
widget.addHandler(foo, far);
}
Widget build(BuildContext context) {
return ...
}