Skip to content

why initState called twice after I switch from tab1 to tab2 #39732

@miroda

Description

@miroda

home code

 @override
  void initState() {
    super.initState();
    _pages.add(TaskPage());
    _pages.add(CapacityMainPage());
    _pages.add(WelfarePage());
    _pages.add(MyPage());

  }

 body: _createBody(),
      bottomNavBar: PlatformNavBar(
        currentIndex: _selectedTabIndex,
        itemChanged: (index) => setState(
          () {
            _selectedTabIndex = index;
          },
        ),
  Widget _createBody() {
    return _pages.elementAt(_selectedTabIndex);
  }

class WelfareScreen extends StatefulWidget {
  const WelfareScreen({
    Key key,
    @required WelfareBloc welfareBloc,
  })  : _welfareBloc = welfareBloc,
        super(key: key);

  final WelfareBloc _welfareBloc;

  @override
  WelfareScreenState createState() {
    return new WelfareScreenState(_welfareBloc);
  }
}

class WelfareScreenState extends State<WelfareScreen> {
  final WelfareBloc _welfareBloc;
  WelfareScreenState(this._welfareBloc);

  @override
  void initState() {
    super.initState();
    this._welfareBloc.dispatch(LoadWelfareEvent());
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<WelfareBloc, WelfareState>(
        bloc: widget._welfareBloc,
        builder: (
          BuildContext context,
          WelfareState currentState,
        ) {

          return YellowPromptAlert.createYellowPromptAlert('flajsd;lkfjal;skdjfl;aksdjfl;kajsdl;kfjal;skdjfl;aksjdfl;kajs;dlkfjas;ldkfjkl',context);
        });
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    d: stackoverflowGood question for Stack Overflow

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions