title: Equivalent of viewWillAppear() in Flutter
body: <p>I'm rebuilding an iOS app using Flutter and the flow is as followed: 
  Everytime the user lands on the homepage, the user data is reloaded from the backend to check if anything has changed. </p>
  
  <p>The way I achieve this in Swift / iOS is by using the viewDidLoad() function. </p>
  
  <p>My Flutter code is like this: </p>
  
  <pre><code>class HomePage extends StatefulWidget {
    @override
    _HomePageState createState() =&gt; _HomePageState();
  }
  
  class _HomePageState extends State&lt;HomePage&gt; {
    User user = User();
  
    @override
    void dispose() {
      super.dispose();
    }
  
    @override
    void initState() {
      super.initState();
      _fetchData(context);
    }
  
    @override
    Widget build(BuildContext context) {
      return Container(
          color: RColor.COLOR_main,
          child: Column(
            children: [
              Container(
                height: MediaQuery.of(context).size.height / 7,
                width: MediaQuery.of(context).size.width,
                padding: EdgeInsets.all(20),
                child: Container(
                  child: Text("This is the homepage"),
                  alignment: Alignment.bottomCenter,
                ),
              ),
            ],
          ));
    }
  
    Future _fetchData(BuildContext context) async {
      _fetchUserAPI(context);
    }
  
    Future _fetchUserAPI(BuildContext context) async {
      try {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        var accessToken = prefs.getString("access_token");
        var url = RConstants.API_BASE_URL + "/v1/users/self";
        Response response = await Dio()
            .get(url, options: Options(headers: {"Authorization": accessToken}));
        setState(() {
          user = User.fromJson(response.data);
        });
      } catch (e) {
        print(e.toString());
        Alert(
                context: context,
                title: "Something Went Wrong",
                desc: "Something went wrong while fetching your user data",
                type: AlertType.error)
            .show();
      }
    }
  }
  </code></pre>
  
  <p>void initState() however, doesn't get triggered each time the user lands on the homepage. What is the correct way to achieve this? </p>