Я использую пакет react-table-drag-select
для проекта, который содержит собственный метод для обработки onTouchStart
событий.
Мне нравится поведение по умолчанию, но я бы хотел запускать и другие вещи, используя событие. Для этого я попытался вызвать функцию TableDragSelect
handeTouchStartCell
, которая является нормальным ответом пакета.
Однако это приводит к ошибкам с
TypeError: Невозможно прочитать свойство 'value' из неопределенного
Я пробовал onMouseOver,
, но это не работает на мобильном телефоне. Есть ли способ как-то дублировать событие onTouchStart
, чтобы в одном случае можно было запускать значение по умолчанию, а в другом - свою функцию?
import React from "react";
import TableDragSelect from "react-table-drag-select";
import "react-table-drag-select/style.css";
class App extends React.Component {
state = {
cells: [
[false, false, false, false, false, false],
]
};
handleTouch = (e) => {
console.log('here')
new TableDragSelect().handleTouchStartCell(e)
}
render = () =>
<TableDragSelect
value={this.state.cells}
onChange={cells => this.setState({ cells })}
>
<tr>
<td onTouchStart={(e) => this.handleTouch(e)}/>
<td />
<td />
<td />
<td />
<td />
</tr>
</TableDragSelect>;
}