i used persistent_bottom_nav_bar library in my app. When i use Navigator to display a new screen then error show.

InkWell(
    onTap: () {
      Navigator.of(context).popUntil(ModalRoute.withName("previousjob"));
      Navigator.of(context).pushAndRemoveUntil(
        CupertinoPageRoute(
          builder: (BuildContext context) {
            return SettingMenu();
          },
        ),
        (_) => true,
      );
    },


Solution 1: Ridham Desai

This is my 1st answer so might not be very clear. But from what I understood while having this same problem is, you need to use push first before you can actually use pop.

You are using pop first so there is nothing into your history.

Try:

    InkWell(
        onTap: () {
          Navigator.of(context).pushNameed(ModalRoute.withName("previousjob"));
          Navigator.of(context).pushAndRemoveUntil(
            CupertinoPageRoute(
              builder: (BuildContext context) {
                return SettingMenu();
              },
            ),
            (_) => true,
          );
        },


Solution 2: Axes Grinds

I solved the issue in my code. My issue is that I was called navigator pop twice in a particular situation which caused the error.


Solution 3: Achintha Isuru

In my case, it was because I tried to call pop after I have called pushAndRemoveUntil. After I remove the above-mentioned pop it worked fine.


Solution 4: J. Diaz

Resolved! In my case, I was using this:

Navigator.of(context).pushReplacement(MaterialPageRoute())

I changed to this:

Navigator.push(context, MaterialPageRoute())


Solution 5: Hamid.Waezi

This happen when your route stack is empty. just befor call pop(), check it that capPop() or maybePop() return true.