UNPKG

react-day-picker

Version:

Customizable Date Picker for React

25 lines 1.1 kB
import { useState } from "react"; /** * A custom hook for managing both controlled and uncontrolled component states. * * @example * // Uncontrolled usage * const [value, setValue] = useControlledValue(0, undefined); * * // Controlled usage * const [value, setValue] = useControlledValue(0, props.value); * * @template T - The type of the value. * @param {T} defaultValue - The initial value for the uncontrolled state. * @param {T | undefined} controlledValue - The value for the controlled state. * If undefined, the component will use the uncontrolled state. * @returns {[T, DispatchStateAction<T>]} - Returns a tuple where the first * element is the current value (either controlled or uncontrolled) and the * second element is a setter function to update the value. */ export function useControlledValue(defaultValue, controlledValue) { const [uncontrolledValue, setValue] = useState(defaultValue); const value = controlledValue === undefined ? uncontrolledValue : controlledValue; return [value, setValue]; } //# sourceMappingURL=useControlledValue.js.map