こんにちは。
React と日々戦っているタロです。
突然ですが、Reactのデータ属性の取得方法はご存知ですか?
おそらくこの記事をご覧の方の多くは jQueryだと $(this).data(‘id’) のような形で取得できたデータ属性を React で取得する方法を知りたいという方だと思っています。
実際にぼくも困ったのでサンプルコードと実演を交えてまとめておこうと思います。
サンプルコード
データ属性の取得方法がこちら↓
class App extends React.Component {
  constructor(props) {
    super(props);
    
    this.handleClick = this.handleClick.bind(this);
  }
  handleClick(e) {
    alert(e.currentTarget.dataset.num);
  }
  render () {
    return (
      <div>
        <button data-num="0512" onClick={this.handleClick}>
          ボタン
        </button>
      </div>
    )
  }
}
ReactDOM.render(
  <App/>,
  document.getElementById('root')
);e.currentTarget.dataset.num と実装することでデータ属性(上の例では num )を取得しています。
実演
追記2022.6.17 関数コンポーネント実装
import React from 'react';
import ReactDOM from 'react-dom';
function App() {
    const buttonAlert = (e) => {
        alert(e.currentTarget.dataset.num);
    }
    return (
        <div className="App">
            <header className="App-header">
                Learn React App
            </header>
            <body>
                <div>
                    <button data-num="0512" onClick={buttonAlert}>ボタン</button>
                </div>
            </body>
        </div>
    );
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
    <App />
);React の学習には下の書籍がおすすめです♩








































