В компоненте если нажать на строку таблицы вызывается this.onClick
, этот метод запускает action
и перенаправляет пользователя на форму с настройками нажатого check
. Также есть кнопка со своим событием, которое удаляет выбранный check
.
Суть проблемы в том, что при нажатие на кнопку происходит редирект и я понимаю, что это из-за того, что кнопка находится в таблице и срабатывают два события. Но я не могу вынести кнопку за tr
тк появляются Warnings
.
Я хочу узнать возможно ли как-то сделать так что бы при нажатие на кнопку удаления не происходил редирект
Код:
renderChecks() {
const {checks} = this.props;
return checks.map(check => {
const { protocol, URL, successCodes, method, timeout, state } = check;
return (
<tr
key={check._id}
onClick={this.onClick.bind(this, check._id)}
style={{ cursor: "pointer" }}
>
<th>{protocol}</th>
<th>{URL}</th>
<th>{method}</th>
<th>{JSON.stringify(successCodes)}</th>
<th>{timeout}</th>
<th>{state}</th>
<th>
<button
className="close"
onClick={this.deleteOnClick.bind(this, check._id)}
>
×
</button>
</th>
</tr>
);
});
}
onClick = id => {
this.props.checkEdit(id);
this.context.router.history.push("/check_settings");
};
deleteOnClick = id => {
this.props.deleteCheck(id);
};
перепишите ваш th (Вы пользуетесь стрелочными функциями, необязательно делать bind(this)):
<th>
<button
className="close"
onClick={(e) => this.deleteOnClick(e, check._id)}
>
×
</button>
</th>
Ваша функция для удаления:
deleteOnClick = (e, id) => {
e.stopPropagation();
this.props.deleteCheck(id);
};
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Такая проблема создаю отчёты при помощи движка DynamicReports в PDF все нормально , в CSV и XLS , какие-то кракозябры:
Почему надпись выводиться не один раз, а два или три, когда пользователь не ввёл нужное значение?
String date = дата 06/05/2018 а по запросу я хочу получить данные только по месяцам и году