symref
Version:
Static code checker for AI code agents (Windsurf, Cline, etc.)
34 lines • 1.04 kB
JavaScript
import { useState, useCallback } from 'react';
/**
* カウンター機能を提供するカスタムフック
* @param initialValue 初期値(デフォルト: 0)
* @param step 増減量(デフォルト: 1)
* @returns カウンター操作のためのメソッドとステート
*/
export function useCounter(initialValue = 0, step = 1) {
const [count, setCount] = useState(initialValue);
// カウントアップ
const increment = useCallback(() => {
setCount(prev => prev + step);
}, [step]);
// カウントダウン
const decrement = useCallback(() => {
setCount(prev => prev - step);
}, [step]);
// カウントをリセット
const reset = useCallback(() => {
setCount(initialValue);
}, [initialValue]);
// 特定の値に設定
const setValue = useCallback((value) => {
setCount(value);
}, []);
return {
count,
increment,
decrement,
reset,
setValue
};
}
//# sourceMappingURL=useCounter.js.map