Реагировать: первая строка возвращает неопределенную форму - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь выполнить функцию поиска, но действие работает только тогда, когда я набираю вторую строку.

const handleSearch = () => {
        console.log(search)
        dispatch(searchClient(search));
    }

Например, я набираю ben Первая буква в результате поиска не определена, а вторая - " b ", всегда на одну строку позже.

Вот мое возвращение

<div onChange={() => handleSearch()}>
                <Input
                placeholder="Client…"
                onChange={e => setSearch(e.target.value)}
                />
            </div>

1 Ответ

0 голосов
/ 11 марта 2020

Вот решение, использующее хук useEffect, который будет запускать searchClient при каждом обновлении search. так что он гарантированно вызывается с текущей версией search.

useEffect(() => {
  dispatch(searchClient(search));
}, [search])

return (
  <div>
    <Input 
      placeholder="Client…" 
      onChange={e => setSearch(e.target.value)}
    />
  </div>
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...