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 valuedefaultValue
{T} - Initialize value firstlyonChange
{(value: T) => void} - BindonChange
handler when value updatinguseEffect
{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