Реагировать: «Cmd-Click» кнопка, которая куда-то перемещается. Лучшие практики? - PullRequest
0 голосов
/ 04 августа 2020

У меня есть компоненты, у которых есть кнопки, которые работают вот так: onClick:

<Button
   onClick={() => {
     history.push(props.directLink);
   }}
...
...
...

Очевидно, когда вы нажимаете, он направляется на внутреннюю страницу, соответствующую props.directLink. Тем не менее, пользователи иногда cmd-щелкают кнопки, чтобы открыть новую вкладку. Я знаю, как перейти на новую вкладку, это не проблема - проблема в том, как определить, как пользователи хотят оставаться на вкладке (простой щелчок мышью) или открывать ссылку в новой вкладке (cmd-click).

Как сделать это элегантно? Должен ли я действительно проверять, нажимается ли Cmd во время щелчка? Следует ли использовать <Link> вокруг кнопки вместо обработки щелчка вручную?

указатели приветствуются!

1 Ответ

2 голосов
/ 04 августа 2020

Лучше всего использовать теги <a> для ссылок. Это единственный способ получить полный опыт, который включает не только щелчок и cmd + щелчок, но и Shift + щелчок (открыть в новом окне), контекстное меню со всеми параметрами ссылки c, такими как различные режимы открытия, копирование адреса et c. Если вы хотите по-прежнему использовать кнопку, вы можете обернуть ее ссылкой

<a href="...">
  <button>I'm button!</button>
</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...