使用 useHistory 重定向页面并在单击为 false 时删除图像

Posted

技术标签:

【中文标题】使用 useHistory 重定向页面并在单击为 false 时删除图像【英文标题】:Redirect pages using useHistory and remove image when click is false 【发布时间】:2021-08-04 00:50:21 【问题描述】:

使用 useEffect 我尝试将正确的序列与右键单击进行比较,如果为真,则自动重定向到另一个页面。如果您犯了四次错误,您将被重定向到松散页面,每个错误都会删除一个图像。如果点击错误,如何重定向页面以及如何删除图像?

useEffect(() => 
const correctSequence = [4, 5, 7, 8, 9];
if (correctSequence === sequence) <Redirect to="/Win" />;
 else <Redirect to="/Loose" />;
console.log(sequence);
console.log(correctSequence);, [sequence]);

Demo

【问题讨论】:

【参考方案1】:

你可以使用 useHistory() 反应钩子。 创建一个函数来检查订单是否正确并使用历史记录。

const history = useHistory();

const correctSequence = [4, 5, 7, 8, 9];

const compare = () => 
  if (correctSequence === sequence)
    history.push("/Win");
   else 
    history.push("/Loose");
  

【讨论】:

太糟糕了,它在这里不起作用,当我尝试单击正确的单词“s,t,a,c,k”时,它不会重定向到 Win。我也尝试了 4 次错误,但它也没有被重定向,而且我点击时图像也没有消失......你知道如何解决这个问题吗? :(【参考方案2】:

你不能使用&lt;Redirect /&gt;直接从useEffect重定向,你需要:

props.history.push('/Win')

/Loose 也一样。

别忘了用withRouter 包裹你的组件。

【讨论】:

酷不知道,它也可以帮助我正确和错误的逻辑它也不起作用

以上是关于使用 useHistory 重定向页面并在单击为 false 时删除图像的主要内容,如果未能解决你的问题,请参考以下文章

如果我必须直接单击横幅并在另一个选项卡上打开它,如何使用 selenium 获得重定向链?

如何在点击时在 React 中重定向?

Angular 2 - 重定向到外部 URL 并在新选项卡中打开

firebase.auth().signOut() 在单击注销后未重定向回 mainNav

单击时,Phonegap 推送通知重定向到应用程序中的特定页面

UseQuery 在通过 apollo react 使用 useMutations 重定向后不起作用