Javascript 反应|如何从状态更新中删除prevent.default

Javascript 反应|如何从状态更新中删除prevent.default,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我有一个状态更新函数,单击它可以呈现一个模态。以下是函数: openDeleteUserModal = ({ row }: { row: IUser | null }): any => ( event: React.SyntheticEvent ): void => { if (event) event.preventDefault(); this.setState({ userToDelete: row, isDeleteUserModalOpen:

我有一个状态更新函数,单击它可以呈现一个模态。以下是函数:

  openDeleteUserModal = ({ row }: { row: IUser | null }): any => (
    event: React.SyntheticEvent
  ): void => {
    if (event) event.preventDefault();
    this.setState({ userToDelete: row, isDeleteUserModalOpen: true });
  };
问题是,单击的元素是一个带有href的a标记


export const userDeleteRenderer = (options: any): any => (
  cell: string,
  row: string
): JSX.Element => {
  const deleteUserClick = options.onClick({ cell, row });
  return (
    <div className="float-right" data-test="delete-icon">
      <a href="#" className="text-danger p-1 text-lg" onClick={deleteUserClick}>
        <Icon icon="trash" />
      </a>
    </div>
  );
};

export const userDeleteRenderer=(选项:any):any=>(
单元格:字符串,
行:字符串
):JSX.Element=>{
constDeleteUserClick=options.onClick({cell,row});
返回(
);
};
因此,如果我删除了prevent默认值并执行类似操作,就会立即调用模态。已调试,无法找到原因


你能帮我删除上面的“防止默认值”吗。这使我的测试生活非常困难。如果我把它取下来,它会更干净。谢谢

您可以使用以下内容:

<a href="javascript:void(0)" className="text-danger p-1 text-lg" onClick={deleteUserClick}>
  <Icon icon="trash" />
</a>
<div onClick={deleteUserClick} style={{cursor: "pointer"}}>
  <Icon icon="trash" />
</div>

但是,如果您只需要光标,您可以使用CSS进行如下操作:

<a href="javascript:void(0)" className="text-danger p-1 text-lg" onClick={deleteUserClick}>
  <Icon icon="trash" />
</a>
<div onClick={deleteUserClick} style={{cursor: "pointer"}}>
  <Icon icon="trash" />
</div>

您可以使用以下内容:

<a href="javascript:void(0)" className="text-danger p-1 text-lg" onClick={deleteUserClick}>
  <Icon icon="trash" />
</a>
<div onClick={deleteUserClick} style={{cursor: "pointer"}}>
  <Icon icon="trash" />
</div>

但是,如果您只需要光标,您可以使用CSS进行如下操作:

<a href="javascript:void(0)" className="text-danger p-1 text-lg" onClick={deleteUserClick}>
  <Icon icon="trash" />
</a>
<div onClick={deleteUserClick} style={{cursor: "pointer"}}>
  <Icon icon="trash" />
</div>


如果您不使用to-link anywhere,为什么不将其替换为或类似内容?如果您不使用to-link anywhere,为什么不将其替换为或类似内容?遗憾的是,我已经尝试过css修复。似乎有什么东西触发了状态,onLoad。我还没弄明白。我对你竖起大拇指,但我不能检查它是否正确。非常感谢。遗憾的是,我已经尝试了css修复。似乎有什么东西触发了状态,onLoad。我还没弄明白。我对你竖起大拇指,但我不能检查它是否正确。非常感谢。