React.jsで時計を作成する方法


方法1: setIntervalを使用して時刻を更新する

この方法では、JavaScriptのsetInterval関数を使用して、1秒ごとに時刻を更新します。

コード例:

import React, { useState, useEffect } from 'react';
function Clock() {
  const [time, setTime] = useState(new Date());
  useEffect(() => {
    const interval = setInterval(() => {
      setTime(new Date());
    }, 1000);
    return () => clearInterval(interval);
  }, []);
  return <div>{time.toLocaleTimeString()}</div>;
}
export default Clock;

方法2: Reactのライフサイクルメソッドを使用して時刻を更新する

この方法では、Reactのライフサイクルメソッドを使用して、コンポーネントがマウントされたときとアンマウントされたときに時刻を更新します。

コード例:

import React from 'react';
class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = { time: new Date() };
  }
  componentDidMount() {
    this.interval = setInterval(() => {
      this.setState({ time: new Date() });
    }, 1000);
  }
  componentWillUnmount() {
    clearInterval(this.interval);
  }
  render() {
    return <div>{this.state.time.toLocaleTimeString()}</div>;
  }
}
export default Clock;

方法3: React Hooksを使用して時刻を更新する

この方法では、React Hooksを使用して状態と副作用を管理し、時刻を更新します。

コード例:

import React, { useState, useEffect } from 'react';
function Clock() {
  const [time, setTime] = useState(new Date());
  useEffect(() => {
    const interval = setInterval(() => {
      setTime(new Date());
    }, 1000);
    return () => clearInterval(interval);
  }, []);
  return <div>{time.toLocaleTimeString()}</div>;
}
export default Clock;

これらの方法を使用することで、React.jsで時計を作成し、コンポーネントが正しく動作することを確認できます。選択した方法に応じて、適切なコード例を使って実装してみてください。