我可以通过url阻止导航到视图,但仍然允许以编程方式进行路由吗?

时间:2019-10-10 15:31:56

标签: reactjs react-router

总而言之,我仍然希望允许用户单击按钮并进入我们的反应路由器中的视图,就像今天的工作方式一样。但是,我从不希望允许用户通过其Web浏览器中的url导航到该视图。只想永久阻止该特定视图。是否有任何简单的想法可以实现,而无需使用本地存储?

我在这里看到了一个类似的问题,但是当我只想这样针对一个特定视图时,它正在询问整个应用程序。答案似乎也涉及身份验证。 React router:I don't want user to directly navigate to pages by typing urls but allow going to pages only using links inside the app.

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在应用程序完全加载或执行特定操作时添加特殊的 function MainMenu() { if (Cookies.get('menuToggled') == '1') { if (isMobileDevice()) { $('.grid-main').css('grid-template-columns', ""); // "" resets to default Cookies.set('menuToggled', '0'); // I do this because after every initial load, the menu must be closed in mobile view. } else { $('.grid-main').css('grid-template-columns', ""); // "" resets to default } } else { if (isMobileDevice()) { $('.grid-main').toggleClass("closedMenu"); $('.main-menu').css("display", "none"); } else { $('.grid-main').toggleClass("smallMenu"); $('nav span').css("display", "none"); } } } /* _________________ PRE-LOADING USER-SETTINGS & COOKIE HANDLING __________________ */ $(document).ready(function(){ MainMenu(); }); /* ######################################################### */ /* ##################### DOM FUNCTIONS ##################### */ /* ######################################################### */ $( window ).resize(function() { MainMenu(); }); 。如果首次加载时没有路线或没有采取特定措施,则他无法使用url到达这些路线。