尽管React的onClick处理程序,history.back()似乎没有等待点击

问题描述:

我正在尝试为<a href='#' onClick={history.back()} > 创建一个返回按钮的链接,用于使用React和Meteor呈现的特定视图。 我的目标是能够让用户返回到上一页,而不必传递参数,也不会强制用户使用浏览器后退按钮。尽管React的onClick处理程序,history.back()似乎没有等待点击

问题:运行该代码时,与后退按钮的观点甚至不渲染和history.back()似乎被触发时自动触发,而不是等待onClick事件(用户点击按钮)

import React from 'react'; 

const UnitButtonComponent =() => { 
    return (
    <div> 
     <a href='#' onClick={history.back()} > 
      <button type='button' name='go back' /> 
     </a> 
    </div> 
    ) 
}; 

export default UnitButtonComponent; 

我也使用流量路由器作为我的路由器。

问题是()history.back之后。在调用渲染方法时,{}内部的内容被评估。

如果删除(),您将为onClick prop分配history.back函数,并且它将按预期工作。

您正在执行的方法立即

而是执行此操作:

<a href='#' onClick={() => history.back()} >