Fix stale searchText in search submit handler (#10251)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Eric Bailey
2026-04-14 17:42:43 -05:00
committed by GitHub
parent eee2df6d3a
commit 59a2d19c26
+12 -10
View File
@@ -96,7 +96,12 @@ export function SearchScreenShell({
const [activeTab, setActiveTab] = useState(() => getTabIndex(tabParam))
// Query terms
const [searchText, setSearchText] = useState<string>(queryParam)
const [searchText, _setSearchText] = useState<string>(queryParam)
const searchTextRef = useRef(searchText)
const setSearchText = (text: string) => {
searchTextRef.current = text
_setSearchText(text)
}
const {data: autocompleteData, isFetching: isAutocompleteFetching} =
useActorAutocompleteQuery(searchText, true)
@@ -227,15 +232,12 @@ export function SearchScreenShell({
}
}, [setShowAutocomplete, setSearchText, navigation, route.params, route.name])
const onSubmit = useCallback(
(source: 'typed' | 'autocomplete') => () => {
ax.metric('search:query', {
source,
})
navigateToItem(searchText)
},
[ax, navigateToItem, searchText],
)
const onSubmit = (source: 'typed' | 'autocomplete') => () => {
ax.metric('search:query', {
source,
})
navigateToItem(searchTextRef.current)
}
const onAutocompleteResultPress = useCallback(() => {
if (IS_WEB) {