Сервис быстрых ответов от искусственного интеллекта
Вопрос пользователя:
Ответ нейросети:
// hooks/useCounter.ts import { useState, useRef } from 'react'; import { CounterService, Counter } from '../CounterService';
const useCounter = (): Counter => { const counterService = useRef(new CounterService()); const [counter, setCounter] = useState<number>(counterService.current.getCounter());
const increment = () => {
counterService.current.increment();
setCounter(counterService.current.getCounter());
};
const decrement = () => {
counterService.current.decrement();
setCounter(counterService.current.getCounter());
};
const double = () => {
counterService.current.double();
setCounter(counterService.current.getCounter());
};
const divide = () => {
counterService.current.divide();
setCounter(counterService.current.getCounter());
};
return {
getCounter: () => counter,
increment,
decrement,
double,
divide,
};
};
export default useCounter;
// App.tsx import React from 'react'; import useCounter from './hooks/useCounter'; import './styles.css';
export const App = () => { const { getCounter, increment, decrement, double, divide } = useCounter();
return (
<>
<div className='counter'>Значение счетчика: {getCounter()}</div>
<div>
<button className='counter-button' onClick={increment}>
Прибавить 1
</button>
<button className='counter-button' onClick={decrement}>
Вычесть 1
</button>
<button className='counter-button' onClick={double}>
Умножить на 2
</button>
<button className='counter-button' onClick={divide}>
Разделить на 2
</button>
</div>
</>
);
};
Напишите нам, если в вопросе есть ваши персональные данные (yasnoponyatno24@yandex.ru)
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.