我正在尝试执行搜索功能,但只有当我键入第二个字符串时,该操作才有效。
const handleSearch = () => {
console.log(search)
dispatch(searchClient(search));
}
例如,我键入ben搜索中的第一个字母返回undefined,第二个返回"b",总是一个字符串之后。
这是我的退货
<div onChange={() => handleSearch()}>
<Input
placeholder="Client…"
onChange={e => setSearch(e.target.value)}
/>
</div>
这里有一个使用useEffect
挂钩的解决方案,每当search
更新时,该挂钩将触发searchClient
。所以它保证用当前版本的CCD_ 4来调用。
useEffect(() => {
dispatch(searchClient(search));
}, [search])
return (
<div>
<Input
placeholder="Client…"
onChange={e => setSearch(e.target.value)}
/>
</div>
);