Reactjs DataGrid上的CloneButton进入编辑页面

Reactjs DataGrid上的CloneButton进入编辑页面,reactjs,clone,react-admin,Reactjs,Clone,React Admin,我有以下代码: <Datagrid rowClick="edit"> <TextField source="id" label="Id" /> <TextField source="token" label="Token" /> <LinkResourceField label="Company" source="company.id" reference={record => `${Pluraliz

我有以下代码:

<Datagrid rowClick="edit">
  <TextField source="id" label="Id" />
  <TextField source="token" label="Token" />
  <LinkResourceField
    label="Company"
    source="company.id"
    reference={record =>
      `${Pluralize.plural(get(record, 'company.category', 'company'))}`
    }
    display="company.name"
    sortable={false}
  />
  <TextField source="status" label="Status" />
  <CloneButton />
</Datagrid>

`${Pluralize.plural(获取(记录,'company.category','company'))`
}
display=“company.name”
可排序={false}
/>
CloneButton确实会出现,但当我单击它时,它首先会进入“创建页面”,然后会进入“编辑页面”以编辑我单击的记录

有人知道为什么会这样吗?是否要设置CloneButton以阻止其触发rowClick

感谢您的阅读和帮助。

您不能这样做:

<CloneButton onClick={event => {
  event.stopPropagation()
  event.preventDefault()
  // do something here
} />
{
event.stopPropagation()
event.preventDefault()
//在这里做点什么
} />

谢谢大家的帮助

我在react admin上发布了一个bug&PR来解决这个问题。

现在,react admin版本2.8.2修复了这一问题

每个人的评论都非常有帮助,如果没有它,我是不可能到达这里的


另外,非常感谢react管理团队快速批准并发布新版本。

这是react管理错误;CloneButton应停止click事件传播,以便datagrid行永远不会接收rowClick事件。我建议您在react admin tracker中打开一个问题。谢谢!我将提交一个bug。对于其他回答这个问题的人,这是提交给github的问题:@Françoiszaninoto请检查下面的其他答案。react admin是否也可以支持此选项?让我们自己的onClick做一些事情,然后也运行内部onClick处理程序?或者(通过一个不同的道具)不太好,因为我正在为此使用react admin组件。我没有办法
//在这里做点什么
,因为这是由react-admin控制的?让我们自己的
onClick
做一些事情,然后也运行内部
onClick
处理程序?