Make props.value piped to state, and exposes onChange
, make react component is uncontrolled & controlled
npm install @rcp/use.uncontrolled
# or use yarn
yarn add @rcp/use.uncontrolled
import useUncontrolled from '@rcp/use.uncontrolled'
-
value
{T} - Piped value -
defaultValue
{T} - Initialize value firstly -
onChange
{(value: T) => void} - BindonChange
handler when value updating -
useEffect
{typeof React.useLayoutEffect} -
eq
{(a: T, b: T) => boolean}
function Input({ value, onChangeValue, defaultValue }) {
const [valueState, setValue] = useUncontrolled({ value, onChange: onChangeValue, defaultValue })
return <input type="text" value={valueState} onChange={(evt) => setValue(evt.target.value)} />
}
Returns Array [T, ((value: T) => T | T) => void]
This library is written and maintained by imcuttle, moyuyc95@gmail.com.
MIT