<textarea>
The built-in browser <textarea> component lets you render a multiline text input.
<textarea />Reference
<textarea>
To display a text area, render the built-in browser <textarea> component.
<textarea name="postContent" />Props
<textarea> supports all common element props.
You can make a text area controlled by passing a value prop:
value: A string. Controls the text inside the text area.
When you pass value, you must also pass an onChange handler that updates the passed value.
If your <textarea> is uncontrolled, you may pass the defaultValue prop instead:
defaultValue: A string. Specifies the initial value for a text area.
These <textarea> props are relevant both for uncontrolled and controlled text areas:
autoComplete: Either'on'or'off'. Specifies the autocomplete behavior.autoFocus: A boolean. Iftrue, React will focus the element on mount.children:<textarea>does not accept children. To set the initial value, usedefaultValue.cols: A number. Specifies the default width in average character widths. Defaults to20.disabled: A boolean. Iftrue, the input will not be interactive and will appear dimmed.form: A string. Specifies theidof the<form>this input belongs to. If omitted, it’s the closest parent form.maxLength: A number. Specifies the maximum length of text.minLength: A number. Specifies the minimum length of text.name: A string. Specifies the name for this input that’s submitted with the form.onChange: AnEventhandler function. Required for controlled text areas. Fires immediately when the input’s value is changed by the user (for example, it fires on every keystroke). Behaves like the browserinputevent.onChangeCapture: A version ofonChangethat fires in the capture phase.onInput: AnEventhandler function. Fires immediately when the value is changed by the user. For historical reasons, in React it is idiomatic to useonChangeinstead which works similarly.onInputCapture: A version ofonInputthat fires in the capture phase.onInvalid: AnEventhandler function. Fires if an input fails validation on form submit. Unlike the built-ininvalidevent, the ReactonInvalidevent bubbles.onInvalidCapture: A version ofonInvalidthat fires in the capture phase.onSelect: AnEventhandler function. Fires after the selection inside the<textarea>changes. React extends theonSelectevent to also fire for empty selection and on edits (which may affect the selection).onSelectCapture: A version ofonSelectthat fires in the capture phase.placeholder: A string. Displayed in a dimmed color when the text area value is empty.readOnly: A boolean. Iftrue, the text area is not editable by the user.required: A boolean. Iftrue, the value must be provided for the form to submit.rows: A number. Specifies the default height in average character heights. Defaults to2.wrap: Either'hard','soft', or'off'. Specifies how the text should be wrapped when submitting a form.
Caveats
- Passing children like
<textarea>something</textarea>is not allowed. UsedefaultValuefor initial content. - If a text area receives a string
valueprop, it will be treated as controlled. - A text area can’t be both controlled and uncontrolled at the same time.
- A text area cannot switch between being controlled or uncontrolled over its lifetime.
- Every controlled text area needs an
onChangeevent handler that synchronously updates its backing value.