1
React
1. Задача: Объяснить и исправить React компонент Counter с использованием useState, useEffect, useRef
import React, { useState, useEffect, useRef } from "react";
export default function Counter() {
const [count, setCount] = useState(0);
const intervalRef = useRef(null);
const handleClick = () => {
setCount((prevCount) => prevCount + 1);
};
useEffect(() => {
if (intervalRef.current) {
clearInterval(intervalRef.current);
}
intervalRef.current = setInterval(() => {
setCount((prevCount) => prevCount + 1);
}, 3000);
return () => {
clearInterval(intervalRef.current);
};
}, []);
return (
<div>
<button onClick={handleClick}>+1</button>
<div>{count}</div>
</div>
);
}2