【发布时间】:2021-03-11 20:32:26
【问题描述】:
我有一个免责声明页面。这仅向用户显示一次。当用户继续点击时,他们接受条款并且不应再次向他们显示。
通过单击此页面上的 CONTINUE 按钮,我必须将 showDisclaimer 状态变量更新为 FALSE 并导航到“/react/nectPage”。此页面上没有后退按钮,用户也不应被允许通过浏览器后退按钮访问此页面。什么是正确的钩子使用。或
[if someCondition evaluate to true, then showDisclaimer is true, else false]
let showDisclaimer = useMemo(() => ( someCondition), [someCondition]);
const handleDisclaimer = () => {
showDisclaimer = false;
<Redirect to='/react/nextPage' />
};
【问题讨论】:
-
您是否在后端存储了“readDisclaimer”之类的标志?如果是,您可以使用该标志来允许/从那里重定向。
-
如果您的问题是关于如何让用户在无法按下后退按钮的情况下进行导航,请将
<Redirect />上的push属性设置为false。 -
或者如果您不想这样做,您可以将此标志存储在本地存储中并从那里读取它以确定您是否应该显示此页面。
-
我没有在后端设置这个标志
-
@AjeetShah const handleDisclaimer = () => { sessionStorage.setItem('disclaimer', 'agreed'); setShowDisclaimer(false); window.location.href = 路线.NEXT_PAGE; }/> }; const 同意 = sessionStorage.getItem('disclaimer');
标签: reactjs react-router react-hooks