Драсьте! Сделал инпут для поиска, справа картиночка с лупой, и простой текст, хочу чтобы когда нажимаешь ентер или на лупу на любой странице кроме /search оно редиректило на эту страницу, а на странице /search нет. Сделал нажатие на ентер, работало, сделал чтобы следило чтобы в инпуте не была пустая строка, работает. Дальше добавил в useEffect зависимость location и оно кидает все равно и не хочет менять pathname:
let redirect = useNavigate();
let location = useLocation();
useEffect(() => {
window.addEventListener('keydown', (e) => {
if (e.key === 'Enter' && findInput.text !== '' && location.pathname !== "/search") {
console.log('worked!', location.pathname);
redirect('/search');
}
})
}, [findInput.text, location, redirect])
Я создал другой useEffect и выводил в нём location.pathname и там всё выводилось правильно, подскажите в чём проблема.