T
TanStack15mo ago
fascinating-indigo

How to implement Algolia with react-query

Is there a way I can separate my query state and render my SearchResults component in another component that isn't my Search component?
import * as React from 'react'

import SearchResults from './SearchResults'

export default function Search() {
const [query, setQuery] = React.useState('')

const handleOnChange = (event: React.ChangeEvent<HTMLInputElement>) => {
event.preventDefault()
// It is recommended to debounce this event in prod
setQuery(event.target.value)
}

return (
<div>
<input
onChange={handleOnChange}
value={query}
placeholder="Search products"
/>
<SearchResults query={query} />
</div>
)
}
import * as React from 'react'

import SearchResults from './SearchResults'

export default function Search() {
const [query, setQuery] = React.useState('')

const handleOnChange = (event: React.ChangeEvent<HTMLInputElement>) => {
event.preventDefault()
// It is recommended to debounce this event in prod
setQuery(event.target.value)
}

return (
<div>
<input
onChange={handleOnChange}
value={query}
placeholder="Search products"
/>
<SearchResults query={query} />
</div>
)
}
2 Replies
harsh-harlequin
harsh-harlequin15mo ago
Yes. State management like redux, Zustand etc Or sync to the url
unwilling-turquoise
unwilling-turquoise15mo ago
or hoist the state I suppose

Did you find this page helpful?