LoginSignup
0
1

More than 5 years have passed since last update.

reactコンポーネントで出力したsvgタグでマウスイベントを拾う方法を教えてください。

Posted at

初めて投稿します。よろしくお願いいたします。

reactのコンポーネントでsvgタグを出力する処理で、svgイメージ上のマウスoverまたはoutのイベントを拾うのに以下のようなコードを使用しています。

ところが最近reactのバージョンアップしてv16にしたところ、当該イベントを拾わなくなりました。

v15までは動作したので、原因や対策を調べたのですがわかりませんでした。

もし原因や対策をご存知でしたらご教授お願いいたします。

SvgIcon.tsx
import * as React from 'react';

interface Props {
  onMouseOver?: any,
  onMouseOut?: any,
}

export default class SvgIcon extends React.PureComponent<Props> {
  static defaultProps = {
    onMouseOver: ()=>{}, //popup表示処理を呼び出し元にて指定
    onMouseOut: ()=>{},  //popup非表示処理を呼び出し元にて指定
  };

  render() {
    const { onMouseOver, onMouseOut } = this.props;
    return (
      <svg ~いろいろ~ onMouseOver={onMouseOver} onMouseOut={onMouseOut} >
        <rect ~いろいろ~ />
      </svg>
    );
  }
}
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1