Reference version

This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 54).

SearchBar

A Jetpack Compose SearchBar component for search input functionality.

Android

Expo UI SearchBar matches the official Jetpack Compose Search API and provides a search input with support for placeholder text and expanded full-screen search.

Installation

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

Usage

BasicSearchBarExample.tsx
import { useState } from 'react'; import { Host, SearchBar } from '@expo/ui/jetpack-compose'; export default function BasicSearchBarExample() { const [query, setQuery] = useState(''); return ( <Host matchContents> <SearchBar onSearch={searchText => setQuery(searchText)} /> </Host> ); }

Search bar with placeholder

Use the SearchBar.Placeholder sub-component to display hint text when the search field is empty.

SearchBarPlaceholderExample.tsx
import { useState } from 'react'; import { Host, SearchBar } from '@expo/ui/jetpack-compose'; export default function SearchBarPlaceholderExample() { const [query, setQuery] = useState(''); return ( <Host matchContents> <SearchBar onSearch={searchText => setQuery(searchText)}> <SearchBar.Placeholder>Search items...</SearchBar.Placeholder> </SearchBar> </Host> ); }

API

import { SearchBar } from '@expo/ui/jetpack-compose';

Components

ExpandedFullScreenSearchBar

Android

Type: React.Element<ExpandedFullScreenSearchBarProps>

ExpandedFullScreenSearchBar component for SearchBar. This component marks its children to be rendered in the expanded full-screen search bar.

Android

Type: React.Element<SearchBarProps>

Renders a SearchBar component.

SearchBarProps

children

Android
Optional • Type: React.ReactNode

The children of the component.

modifiers

Android
Optional • Type: ExpoModifier[]

Modifiers for the component.

onSearch

Android
Optional • Type: (searchText: string) => void

Callback function that is called when the search text is submitted.

SearchBarPlaceholder

Android

Type: React.Element<PlaceholderProps>

Placeholder component for SearchBar. This component marks its children to be rendered in the placeholder slot.