@mDrama

Плохо ли, если экшен редакса срабатывает «впустую»?

Добрый день. Я пытаюсь реализовать автокомплит для строки поиска. И по задумке, когда кто-то кликает по выпавшему результату из автокомплита идет переход на соответветствующую страницу (путь в роутере). При этом вэлью инпута с поиском должно обнулиться, а также массив в редаксе, в который приходят результаты поиска.

Я использую хуки и не придумал ничего лучше, как проверять location.pathname в useEffect:

const [inputValue, changeValue] = useState('');

useEffect(() => {
    return () => {
      changeValue('');     // обнуляет значение инпута 
      fetchSearch('');      // это экшен. Если придет пустое значение, то он обнулит массив с результатами поиска
    }
}, [location.pathname, fetchSearch]);


Проблема в том, что этот экшен теперь срабатывает при каждом переходе. Ничего сложного он не делает, просто существующий массив в редаксе заменяется на пустой. Я могу в самом редаксе еще сделать проверку, что если массив уже пустой, то вообще ничего не делай. Но экшен при этом будет срабатывать все равно при переходе на другую страницу. Плохо ли это или если ничего "тяжелого" из-за него не происходит, то и так норм?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы