react-navigation / web

Tools for react-navigation on web browsers and servers
https://reactnavigation.org
MIT License
94 stars 28 forks source link

Option to disable setting the url and adding to the history (e.g. for modals) #37

Open robclouth opened 5 years ago

robclouth commented 5 years ago

It would be super handy to be able to disable adding to the history and setting the url for certain routes, for example dialogs and modals.

robclouth commented 5 years ago

For now I've moved all modals into a single router and return null for getPathAndParamsForState for the modal routes. This stops them getting added to the history and changing the url.

const originalFunction = ModalStack.router.getPathAndParamsForState;
(ModalStack.router as any).getPathAndParamsForState = (state: any) => {
  const currRoute = state.routes[state.index];
  if (currRoute.routeName === "MainSwitch") return originalFunction(state);
  else return null;
};