Skip to content
TrademarkTrademark
Docs
Form Controls

Field

Updated: October 20, 2026
View on GitHub
Soon
Not released yet. The published package does not include this yet, so it will not install today.

Field takes the same props as on the web (label, hint, error, required, span). It puts a label above one control and the error and hint under it, and hands the control what a screen reader needs: the label as its name, the error and hint as its hint, aria-required, and error so the control draws itself invalid. See the web Field for the same component in the browser.

The control's own props win, so <Input error={false} /> inside a Field with an error stays unmarked. For a custom control, pass a function: it receives the props to spread.

Differences from the web

  • One label. When the control's own label repeats the Field's, the control drops it, so <Field label="Space"><Select label="Space" /></Field> shows "Space" once. A Select or DateInput then uses the Field's label as its sheet title.
  • controlId is accepted and ignored: React Native links the label to the control through props, not ids.
  • The error is announced when it appears (a polite live region).

API reference

Prop
Type
Default
Description
labelReactNodeThe label above the control, and its spoken name.
hintReactNodeHelper text under the control.
errorReactNodeThe error. While set, the control is invalid.
requiredbooleanfalseAn asterisk after the label and aria-required.
spannumberColumns to take inside a Form.
childrenReactNode | (control) => ReactNodeOne control, or a function given the control's props.
Edit this page on GitHub