рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ : https://github.com/i-like-robots/react-tags/compare/v5.13.0...async-fetch-example
рдпрд╛рдп!, рдмрд╕ рдЗрд╕реА рдХреА рддрд▓рд╛рд╢ рдореЗрдВ!
рдЕрдХреНрд╖ рдФрд░ рд╣реБрдХ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг:
//initial api call
const [{ data: labelsData }, doGetLabels] = useAxios({
url: '/labels',
})
const [suggestions, setSuggestions] = useState([])
const [busy, setBusy] = useState(false)
const handleInputChange = debounce((name) => {
if (!busy) {
setBusy(true)
doGetLabels({ params: { name } })
}
})
//getResponseData is my custom parser for the BE response
useEffect(() => {
const labels = labelsData ? getResponseData(labelsData).labels : []
if (setBusy) {
setBusy(false)
}
setSuggestions(labels)
}, [labelsData])
рд╢реЗрд╖ рдХреЛрдб @i-like-robots PR . рдЬреИрд╕рд╛ рд╣реА рд░рд╣рддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @i-like-robots рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╡рд┐рдХрд▓реНрдк рд╕реВрдЪреА рд╕реАрдзреЗ onInput
рдХрд╕реНрдЯрдо рд╣реИрдВрдбрд▓рд░ https://github.com/i-like-robots/react-tags/blob/6.0/lib/ReactTags.js#L130 рдХреЗ рдмрд╛рдж рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ onInput
рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрджрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд┐рдХрд▓реНрдк рд╕реВрдЪреА рдореЗрдВ рд╣рдореЗрд╢рд╛ рдкрд┐рдЫрд▓реА рдХреЙрд▓ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреА рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдирд╡реАрдирддрдо рдХреА рдирд╣реАрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ : https://github.com/i-like-robots/react-tags/compare/v5.13.0...async-fetch-example