Как я могу предотвратить всплывающее событие с помощью response-router-dom's <Link>? - PullRequest
0 голосов
/ 07 января 2020

Хорошо. Итак, у меня есть что-то вроде этого.

Я добавил Ссылку вокруг всего сообщения, думая, что могу просто остановить всплывающее окно для отдельных кнопок, но stopPropagation () не работает должным образом.

Я разделил действия кнопок на отдельный компонент, который был предложен другим постом на эту тему, но это не помогло. Я предполагаю, что это как-то связано с тем, что это Link-router-dom Link, но это может быть что-то другое.

Есть идеи?

import React from 'react';
import { Link } from 'react-router-dom';

const MyComponent = ({
  doSomething
})=>(
  <Link to={`/some/url`}>
  <div className="post">
    <span className="button" onClick={e=>{
      e.stopPropagation();
      doSomething();
    }}>My Button</span>
  </div>
  </Link>
)

1 Ответ

1 голос
/ 07 января 2020

должно работать:

e.preventDefault()

более подробное объяснение: поведение stopPropagation / protectDefault для элемента внутри ссылки

Кроме того, stopPropagation является функцией, и он ждет звонка.

...