Задать вопрос
@mDrama

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

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

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

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

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


Проблема в том, что этот экшен теперь срабатывает при каждом переходе. Ничего сложного он не делает, просто существующий массив в редаксе заменяется на пустой. Я могу в самом редаксе еще сделать проверку, что если массив уже пустой, то вообще ничего не делай. Но экшен при этом будет срабатывать все равно при переходе на другую страницу. Плохо ли это или если ничего "тяжелого" из-за него не происходит, то и так норм?
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽