В компоненте App можно использовать состояние и таймер, чтобы каждые 3 секунды обновлять случайное число и счётчик изменений.
Есть компонент с счётчиком, который должен увеличиваться каждую секунду через setInterval, но он не работает корректно. Как исправить?
В компоненте App можно использовать состояние и таймер, чтобы каждые 3 секунды обновлять случайное число и счётчик изменений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В компоненте App можно использовать состояние и таймер, чтобы каждые 3 секунды обновлять случайное число и счётчик изменений.
Пример на React:
import React, { useState, useEffect } from 'react';
import Rand from 'some-rand-library'; // предположим, что Rand экспортирует функцию getRandomNumber
function App() {
const [randomNumber, setRandomNumber] = useState(Rand.getRandomNumber());
const [count, setCount] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setRandomNumber(Rand.getRandomNumber());
setCount(prev => prev + 1);
}, 3000);
return () => clearInterval(interval);
}, []);
return (
<div>
<p>Случайное число: {randomNumber}</p>
<p>Количество изменений: {count}</p>
</div>
);
}
export default App;
Здесь всё логика обновления находится внутри компонента App: с помощью useEffect создаётся интервал, который обновляет состояние randomNumber и count каждые 3 секунды.