有没有可能使这个html表可以重用?我在两个地方使用了同一个表,并根据它的用途使用了不同的属性。有一件事我无法解决。表的每个示例都使用了一个带参数的onclickhandler,1个用于删除用户(user.id),另一个用于添加用户(user),因此每个onClick都使用不同的参数。
一个onClickHandler的
const onClickHandler = (user) => {
setAddedAlert(true);
removeAlert()
setFavourites([...favourites, user]);
};
在组件中使用的表的示例和传递的属性
{usersData &&
<Table
data={usersData}
onClickHandler={onClickHandler}
buttonText={"Add"}
/>
}
</div>
表格示例
const Table = ({ data, onClickHandler, buttonText }) => (
<Container>
<StyledTable>
<THead>
<TR>
<TH>ID</TH>
<TH>NAME</TH>
<TH>PHONE</TH>
</TR>
</THead>
<TBody>
{data?.map((user) => (
<TR key={user.id} >
<TD>{user.id}</TD>
<TD>{user.name}</TD>
<TD>{user.phone}</TD>
<TD>
<Button
onClick={() => onClickHandler(user)}
>
{buttonText}
</Button>
</TD>
</TR>
))}
</TBody>
</StyledTable>
</Container>
)
export default Table;
1条答案
按热度按时间wvt8vs2t1#
单独的添加和删除功能可以完成这项工作。