0

In my app I have used get method to display the logo of the app, and when I navigate to different page and come back to previous page it again reloads and uses get method every time, I have used get method and set it in initState so it reloads every time I go to that page, How do i make it so that it only uses get method once and doesn't reload every time I navigate to different page.

 Future getLogo() async {
    setState(() {
      _loading = true;
    });

    http.Response response;
    response = await http.get(
        Uri.parse("http://202.51.75.142:706/api_vi/gethospitalinformation/GOK"),
        headers: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
        });

    setState(() {
      _loading = false;
      if (response.statusCode == 200) {
        setState(() {
          mapLogo = json.decode(response.body);
        });
      }
    });
  }

  @override
  void initState() {
    getData();
    getLogo();
    super.initState();
  }

enter image description here

Mr.Robot
  • 91
  • 12

1 Answers1

0

I think you need to keep your page alive. Check the below code.

class YourClassName extends StatefulWidget {
  const YourClassName({super.key});

  @override
  YourClassState createState() {
    return YourClassState();
  }
}

class YourClassState extends State<YourClassName> with AutomaticKeepAliveClientMixin {
  @override
  Widget build(BuildContext context) {
    return Container(

    );
  }

  @override
  bool get wantKeepAlive => true;
}

for more details check this link

K K Muhammed Fazil
  • 668
  • 1
  • 5
  • 12