1.1 KiB
1.1 KiB
title, tags, cover, firstSeen, lastUpdated
| title | tags | cover | firstSeen | lastUpdated |
|---|---|---|---|---|
| Controlled input field | components,input | digital-nomad-5 | 2019-08-21T13:09:10+03:00 | 2020-11-03T21:08:39+02:00 |
Renders a controlled <input> element that uses a callback function to inform its parent about value updates.
- Use the
valuepassed down from the parent as the controlled input field's value. - Use the
onChangeevent to fire theonValueChangecallback and send the new value to the parent. - The parent must update the input field's
valueprop in order for its value to change on user input.
const ControlledInput = ({ value, onValueChange, ...rest }) => {
return (
<input
value={value}
onChange={({ target: { value } }) => onValueChange(value)}
{...rest}
/>
);
};
const Form = () => {
const [value, setValue] = React.useState('');
return (
<ControlledInput
type="text"
placeholder="Insert some text here..."
value={value}
onValueChange={setValue}
/>
);
};
ReactDOM.createRoot(document.getElementById('root')).render(
<Form />
);