Middle
Практическо задание: доработете компонента на брояча в React така, че при натискане на бутона "Увеличи" стойността на брояча да се увеличава с 1 и в историята да се добавя запис за увеличението с новата стойност; при натискане на "Намали" — аналогично; при натискане на "Рестартирай" — историята да се изчиства.
sobes.tech AI
Отговор от AI
Вот пример компонента React, реализующего счётчик с историей изменений и кнопками «Увеличить», «Уменьшить» и «Сбросить»:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
const [history, setHistory] = useState([]);
const increment = () => {
const newCount = count + 1;
setCount(newCount);
setHistory(prev => [...prev, `Увеличено до ${newCount}`]);
};
const decrement = () => {
const newCount = count - 1;
setCount(newCount);
setHistory(prev => [...prev, `Уменьшено до ${newCount}`]);
};
const reset = () => {
setCount(0);
setHistory([]);
};
return (
<div>
<h2>Счётчик: {count}</h2>
<button onClick={increment}>Увеличить</button>
<button onClick={decrement}>Уменьшить</button>
<button onClick={reset}>Сбросить</button>
<h3>История:</h3>
<ul>
{history.map((entry, index) => (
<li key={index}>{entry}</li>
))}
</ul>
</div>
);
}
export default Counter;