React.js ライブラリ「use-elapsed-time」を使ってカウントダウン機能を実装する
ライブラリ「use-elapsed-time」をインストールすると、カウントダウン機能の実装が可能です。ここでは、react.jsでuse-elapsed-timeを利用するための手順と簡単な使い方を記述してます。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- node V12.13.1
- npm 6.14.2
- React 16.13.0
react.js環境構築
下記のコマンドで構築してます。ここでは、react-appという名前でプロジェクトを作成してます。
create-react-app react-app
use-elapsed-timeインストール
作成したプロジェクトに移動して、インストールします。
## 作成したプロジェクトに移動
cd react-app
## インストール
npm install use-elapsed-time
use-elapsed-time 使い方
srcディレクトリにsample.jsと名前で下記のコードを記述します。
import React, { useState, useEffect } from 'react';
import { useElapsedTime } from 'use-elapsed-time'
const isPlaying = true
const duration = 10;
const options = { duration };
const CountDownTimerComponent = () => {
const { elapsedTime } = useElapsedTime(isPlaying, options);
const remainingTime = Math.ceil(duration - elapsedTime);
return <div style={{ fontSize: 32 }}>Remaining {remainingTime} seconds</div>;
};
const Sample = () => {
const [key, setKey] = useState("0");
useEffect(() => {
document.addEventListener("keyup", () => {
setKey(new Date().getTime());
});
}, []);
return (
<div>
<h1>Countdown timer</h1>
<p>何かキーを押せばリセットされます</p>
<CountDownTimerComponent key={key} />
</div>
);
}
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にアクセスすると、カウントダウン機能が実装されていることが確認できます。
-
前の記事
Macでtreeコマンドを実行する手順 2020.07.17
-
次の記事
Nuxt.js ライブラリ「vuejs-clipper」を使用して画像をクリッピングする 2020.07.18
コメントを書く