如何将对象从有状态小部件传递到其状态? (不在小部件中)

时间:2019-12-22 08:12:46

标签: flutter dart

我试图将User对象从我的有状态小部件传递到其状态。

class NavBar extends StatefulWidget {
  final User user;
  NavBar({this.user});
  @override
  NavBarState createState() => NavBarState();
}


class NavBarState extends State<NavBar> {
  int _currentIndex = 0;
  final List<Widget> _children = [
    CalendarWidget(),
    HomeWidget(),
    MessagingWidget(),
    ProfilePage(user: user)
  ];
  Widget build(BuildContext context) {

所有其他解决方案都说要像ProfilePage(user: widget.user)那样使用widget.user,但这会引发错误:

Only static members can be accessed in initializers.dart(implicit_this_reference_in_initializer)

如何在NavBar状态下访问User对象,以便将其发送到ProfilePage()?

1 个答案:

答案 0 :(得分:0)

您可以使用widget.yourObjectsName来访问处于状态的StateFul小部件的对象

您可以通过state的widget属性来使用Stateful Widgets的任何属性,该属性引用state的Widget属性。