我正在尝试向我的 React 应用程序添加去抖动功能,并且想要在没有像 loadash、3rd 方节点模块等库的情况下进行。我尝试在那里发布一些帖子,但没有任何效果。
基本上,handleSearch我只是分派 redux 操作,该操作执行对 API 端点的查询,并在输入绑定值中将值绑定到 redux 状态并调用 handleSearch onChange。
我的代码是:
const handleSearch = (e: React.FormEvent<HTMLInputElement>) => {
const value = e.currentTarget.value
dispatch(setSearch(value))
}
Run Code Online (Sandbox Code Playgroud)
后来作为回报
<input type="text" value={searchQuery} onChange={handleSearch} />
Run Code Online (Sandbox Code Playgroud)
另外,我的操作:
export const searchMovies = (category: String, searchQuery: string) => async (dispatch: Dispatch<ControlDispatchTypes>) => {
try {
dispatch({
type: SEARCH_LIST_LOADING
})
let res: any;
if (searchQuery.length >= 3) {
res = await axios.get(`https://api.themoviedb.org/3/search/${category}?api_key=xxxxxxxxxx&query=${searchQuery}`)
}
dispatch({
type: SEARCH_LIST_SUCCESS,
payload: res.data.results
})
} catch (error) { …Run Code Online (Sandbox Code Playgroud)