React.js ライブラリ「react-range-step-input」を使ってrangeを作成する

React.js ライブラリ「react-range-step-input」を使ってrangeを作成する

ライブラリ「react-range-step-input」をインストールすると、rangeを作成することが可能です。ここでは、react.jsでreact-range-step-inputを利用するための手順と簡単な使い方を記述してます。

環境

  • OS  CentOS Stream release 8
  • node V14.15.1
  • npm 6.14.8
  • React 16.13.0

react.js環境構築

下記のコマンドで構築してます。ここでは、react-appという名前でプロジェクトを作成してます。

create-react-app react-app

react-range-step-inputインストール

作成したプロジェクトに移動して、インストールします。

## 作成したプロジェクトに移動
cd react-app
 
## インストール
npm i react-range-step-input

react-range-step-input使い方

srcディレクトリにsample.jsと名前で下記のコードを記述します。

import React from "react"
import { RangeStepInput } from 'react-range-step-input'

class Sample extends React.Component {
  constructor(props) {
      super(props);
      this.state = {
          value: 50
      };
  }
  render() {
      return <div>
          <p>Here's an example RangeStepInput:</p>
          <div class="input-group-append"><span class="input-group-text ml-2">{this.state.value}</span></div>
          <RangeStepInput
              min={0} max={100}
              value={this.state.value} step={1}
              onChange={this.onChange.bind(this)}
          />
      </div>;
  };
  onChange(e) {
      const newVal = e.target.value;
      this.setState({value: newVal});
  }
};

export default Sample;

次に、srcディレクトリ配下にあるApp.jsを下記のように編集します。

import React from 'react';
import Sample from './sample';
import './App.css';

function App() {
  const style = {
    width: "50%",
    margin: "0 auto",
    marginTop: 150,
  };
  return (
    <div className="App">
      <div style={style}>
        <Sample />
      </div>
    </div>
  );
}

export default App;

実行します。

npm start

ブラウザから http://プライベートIP:3000にアクセスすると、rangeが実装されていることが確認できます。