我正在创建一个具有如下内容的组件的React应用程序:
class TableRow extends React.Component {
constructor(props) {
super(props)
}
render() {
const handleClick = () => window.location.href = "some-url";
return (
<tr>
<td>Something 1</td>
<td>Something 2</td>
<td>Something 3</td>
<td>Something 4</td>
</tr>
);
}
}我希望<tr>标记能够像<a>标记那样运行:
场景1很简单,因为我可以将onClick属性添加到<tr>,但是当您尝试使用command+clicking时,它不会在新选项卡中打开。
我不想将整个组件包装在<a>标记中,因为React抛出了一个警告:<tbody>标记不应该作为子标记具有<a>标记。我也不想将所有<td>标记包装在一个<a>标签下,因为会引发类似的警告。
发布于 2016-04-20 21:11:24
我找到了这篇文章,它准确地说明了我想做的事情:https://til.hashrocket.com/posts/a2c54cc97a-cmdclick-a-link-open-in-a-new-tab-with-javascript
本质上,作为传递给handleClick的handleClick对象的一部分,我可以确定是否也使用了metaKey。如果是的话,我可以在一个新的标签里打开它。
https://stackoverflow.com/questions/36732260
复制相似问题