Я построил таблицу с содержимым в строках таблицы на основе объектов состояния в файле компонента root моего приложения. Состояния передаются как реквизиты в файл компонента, где они отображаются и выводятся в виде строки таблицы. Как бы я go показал 2 кнопки редактирования и удаления, которые отображаются только в той строке, в которой пользователь наводит курсор мыши с помощью React? Я назначил значение id для каждого объекта состояния.
Вот как я бы хотел, чтобы он выглядел следующим образом: 2 кнопки отображаются при наведении курсора на строку таблицы
Здесь так выглядит функция возврата моего компонента
<tbody class="tbody" key="shoe.id">
<tr class="tr">
<td class="td">
{shoe.name}
<td>
<Button className="edit-delete-buttons" variant="tertiary" size="xs">Edit</Button>
<Button className="edit-delete-buttons" variant="tertiary" size="xs">Delete</Button>
</td>
</td>
<td class="td">
<div>{shoe.maker}</div>
<div>{shoe.company}</div>
<div>{shoe.wearer ? shoe.wearer : null}</div>
<div>{shoe.type ? shoe.type : null}</div>
<div>{shoe.style ? shoe.style : null}</div>
<div>{shoe.color ? shoe.color : null}</div>
<div>{shoe.description ? shoe.description : null} </div>
</td>
<td class="td">
{shoe.quantity}
</td>
</tr>
</tbody>
edit:
const TableRender = (props) => {
const [show, setShow] = useState(false);
const shoesList = props.shoes.map(shoe => {
return(
<tbody class="tbody" key="shoe.id">
<tr class="tr" onMouseOver={() => setShow(!show)} onMouseOut={() => setShow(!show)} key={shoe.id}>
<td class="td">
{shoe.name}
{show && (
<td>
<Button className="edit-delete-buttons" variant="tertiary" size="xs">Edit</Button>
<Button className="edit-delete-buttons" variant="tertiary" size="xs">Delete</Button>
</td>
)}
</td>
<td class="td">
<div>{shoe.maker}</div>
<div>{shoe.company}</div>
<div>{shoe.wearer ? shoe.wearer : null}</div>
<div>{shoe.type ? shoe.type : null}</div>
<div>{shoe.style ? shoe.style : null}</div>
<div>{shoe.color ? shoe.color : null}</div>
<div>{shoe.description ? shoe.description : null} </div>
</td>
<td class="td">
{shoe.quantity}
</td>
</tr>
</tbody>
)
})
return(
//output shoeeventsList
<Fragment>
{shoeeventsList}
</Fragment>
)
}
}
export default TableRender;