我有一个多步表单,第二步是用户输入。因此,如果网络崩溃或出于任何原因用户需要使用输入重新加载第二步,我希望他能够这样做,而不会被引导到默认路由。但是,如果用户希望在输入 url 的步骤之间导航,他不应该这样做。
这段代码不仅会在手动录制时将用户返回到家中,还会在重新加载时返回:
useEffect(() => {
router.replace("?step=0");
}, []);
所以,我一直在考虑检查,如果当前路径基本保持不变,应该不会发生 router.replace 。我的代码肯定坏了,但我认为后面的想法应该是正确的:
useEffect(() => {
if(router.asPath !== router.asPath ) {router.replace("?step=0")};
}, []);
所以基本上问题是,我如何检查路径是否已更改,然后进行替换,如果没有,则仅呈现相同的表单步骤。