(ReactJS) Запуск метода пакета по умолчанию и другой функции с помощью onTouchStart - PullRequest
0 голосов
/ 21 марта 2020

Я использую пакет 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>;
}
...